MyBB.de Forum

Normale Version: Eigene Templates in bestehende einbauen???
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin neu hier und habe mich nun etwas intensiver mit dem - nun ja - ungewöhnlichem Template-Handling (mix aus XML-Input/Datenbank/PHP-Code) beschäftigt.

Ich denke, ich hab's einigermassen kapiert, nachdem ich das Forum durchstöbert habe, und finde es inzwischen ganz ok.

Nun möchte ich aber ein eigenes Template in einem anderen Template einbinden (also wie z.B. header in index drinsteckt möchte ich gerne ein weiteres header-Template hinzubauen).

Habe versuch ueber Templates->Add ein neues anzulegen (z.B. mit Namen "headerlogo").

Nun möchte ich es im Standard-header Template mit "$headerlogo" einfügen (so hatte ich das bei anderen Standard-Templates auch gesehen).

Das Template, dass ich neu angelegt habe wird auch in der Datenbank angelegt, aber ich kann scheinbar nicht darauf zugreifen, um es im Code einzubinden.

Was habe ich falsch gemacht bzw. wie kann ich eigene Templates einbinden?

Vielen Dank im voraus,
Gruss

Zorro

Du musst für die Variable erst in der entsprechenden PHP-Datei das Template laden:
PHP-Code:
eval("\$headerlogo = \"".$templates->get("headerlogo")."\";"); 

NetHunter

In diesem Fall in die global.php.
Hallo Leute,

sehr gut. Vielen Dank, das geht nun.

Ich habe mir nun so geholfen, dass ich nicht den vorgeschlagenen code direkt in die Datei global.php eingetragen habe, sondern das Ganze ueber ein Inlcude mache (etwa bei Zeile 154):

PHP-Code:
.....
// Load Main Templates and Cached Templates

@include ('get_custom_templates.inc.php');  // neu von mir

if($templatelist)
{
..... 

und in get_custom_templates.inc.php:

PHP-Code:
$custom_template_reg 
    array(
            
"headerlogo",
        );

if (isset(
$custom_template_reg)) {
    foreach (
$custom_template_reg as $add_template) {
        eval(
"\$".$add_template." = \"".$templates->get($add_template)[code]."\";");        
    }    


So kann ich die Templates registrieren oder auch wieder abmelden und ich musste in global.php nur eine Zeile hinzufügen.

Ich weiss nicht, ob das die beste Lösung ist, aber das tut's erstmal.

Vielen Dank nochmal,

Zorro