wbb2 eigenes Template per Variable aufrufen

  • Moin moin,


    ich habe ein eigenes Template im ACP erstellt, das "box" heißt. Wenn ich das in einem anderen Template per $box aufrufe, dann geht das nicht.


    Was muss man da machen, damit das geht?

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • Du musst in der PHP-Datei, in der die beiden Templates aufgerufen werden, erstmal das box-Template laden, parsen und dann in $box speichern, so dass dein Template darauf zugreifen kann.
    Beispiele findest du in der größten Datei im Ordner, weiß grad leider nicht wie die heißt. Da wird das headinclude-Template eingebunden.

  • Nein, ich wollte das $Box in ein bereits von WBB erstellten und vom Anfang an vorhandenes Template reinmachen.


    Das Template "Box" wurde durch mich erstellt und soll als Variable $box in dem Template header aufgerufen werden.

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • Ja, wie das funktioniert schrieb ich eben.
    Nur weil die Templates erstellt sind heißt es nicht dass die auch überall in einer Variable erreichbar sind. Die PHP-Datei muss das Template auslesen damit du das im header-Template nutzen kannst.


    Such dir die global.php,dort nach
    eval("\$header = \"".$tpl->get("header")."\";");


    und schreib darüber
    eval("\$box = \"".$tpl->get("box")."\";");


    Dann kannst du $box schonmal im PHP-Code nutzen und theoretisch auch in den TEmplates.

  • Das funzt. Danke.


    Nächste Frage:
    Jetzt hätte ich gern, dass jeder Benutzer selbst entscheiden kann, ob die Leiste angezeigt wird, oder nicht. Dafür habe ich in bb1_users eine neue Spalte usetoolbox (mit enum('0','1')) angelegt und in das Template box eine Bedingung reingeschrieben.

    PHP
    <if($wbbuserdata['usetoolbox']==1)>
      <then>
    "Box-Template"
    </then>


    Wenn 1, dann anzeigen, wenn 0, dann nicht.


    Wenn ich das so speichere, kommt die Fehlermeldung Parse error: syntax error, unexpected '"' in /www/htdocs/w007744b/forum/global.php(213) : eval()'d code on line 77


    Wenn ich mir jetzt aber die Zeile 77 der Datei anschaue, dann kommt dort kein " vor, was den Fehler erzeugt. Ich vermute eher, dass er die Zeile 213 meint, wo ich deinen Code reingeschrieben habe.

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • Nein, der eval-Code ist in 213 und in dem Code in Zeile 77 ist der Fehler,das dürfte das Header-Template sein. Du hast das </if> vergessen.
    Hast du getestet ob $wbbuserdata['usetoolbox'] existiert? Kann sein dass du die Variable auch erst aus der Datenbank holen musst, da die Profileinstellungen glaube ich sonst in einer anderen Tabelle sind.

  • Ich habe mich an isgroupleader orientiert, das ist ja auch in bb1_users oder bzw. invisible was es da nicht alles gibt.


    Und da hab ich mir aus dem usercp-Template das


    <if($wbbuserdata['isgroupleader']==1)>
    <then>
    code
    </then>


    genommen und abgewandelt.


    Edit: ja es lag am IF, so an sich funzt das erst mal, danke :)

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • So, es geht nun alles soweit.


    Habe eben noch die Funktion eingebaut, dass man die Leiste deaktivieren kann.


    Danke an den Hirten für seine Hilfe und auch an Veuxin, der auch geholfen hat.

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht