Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Eigene Seiten Tutorial
#21
1) Der Code muss davor.
2) Im Template ist kein PHP-Code. Es werden nur ein paar Variablen benutzt.
3) Ja. Wenn der Code nur auf der einenen Seite kommen soll, kannst du ihn doch nur in das entsprechende Template setzen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#22
Grundsätzlich gilt: Die Variablen werden in den PHP-Dateien definiert bevor das Template geladen ist. Dabei werden die Variablen im Template durch die zugewiesenen Inhalte ersetzt.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#23
PHP-Code:
eval("\$headerinclude = \"".$templates->get("headerinclude")."\";"); 
Diese und alle ähnlichen Zeile rufen die Templates auf, ja. Der Punkt ist, dass wie Dragon schon sagte, im Template kein PHP-Code ausgeführt werden kann, allerdings stehen sämtliche Variablen, welche in der Datei definiert wurden, die das Template aufruft, im Template zur Verfügung.
Beispiel: Wenn ich $ab den String "ab" zuweise und dann im Template {$ab} schreibe, wird der Inhalt der Variable ausgegeben, also in diesem Fall "ab".
#24
Ok ich versuch es mal zusammen zu fassen (ich hoffe ich habe es richtig verstanden ansonsten korrigiert mich ruhig Wink).

Also : ich denke der beste weg wäre ja dann, einfach ein template hinzuzügen (nennen wir es einfach mal "over_head" . In diesem template schreibe ich natürlich den HTML Code rein und keinen php code .

Diese Template ist dann als {$over_head} verfügbar indem ich einfach einfach eine over_head.php anlege mit dem inhalt des eigene seiten tutorials (soweit so gut).

Dieses Template rufe ich dann einfach in dem headerinclude Template am anfang auf (also in der ersten Zeilte mit {$over_head} ).

Jetzt kommt der php code, im prinzip benötige ich ja für den php code die login box.

Da diese ja erst an einer bestimmten Position aufgerufen werden soll, denke ich, gibt es ja nur die möglichkeit , ein zusätzliches Template zu erstellen mit dem namen als beispiel "page_login_box", ohne großen html code behaupte ich jetzt einfach mal und lege dann eine page_login_box.php an mit folgenden inhalt :

PHP-Code:
<?
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);
require("global.php");
 
add_breadcrumb("page_login_box");

eval("\$page_login_box .= \"".$templates->get("page_login_box")."\";"); 

// Hier der Include??
ob_start();
include("login.php"); // Das ist die eigentliche Datei die included wird
$page_login_box = ob_get_contents();
ob_end_clean();

output_page($impressum);

?>

Dann müsste ich nur noch im over_head Template an der gewünschen stelle ein {$page_login_box} einfügen und das sollte so funktionieren oder ?
Bin mir nur noch nicht sicher ob ich dann einfach so includen kann , aber das wäre jetzt so mein vorschlag wie es evtl. klappen könnte..ich probiers nacher auf jeden fall mal aus , wäre trotzem nett, falls einer doch einen Fehler sieht , hier zu antworten Wink

Ich danke euch auf jeden fall schon mal für eure Mühen bisher Smile
#25
Im Moment überschreibst du ja $page_login_box. Beide Möglichkeiten funktionieren aber.
Anmerkung: Oben benutzt du .=, obwohl die Variable noch nicht definiert ist. Der Punkt kann also weg.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#26
Danke, dann werde ich das gleich mal so ausprobieren ob es funktioniert Wink


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Eigene Seiten erstellen Harald_T 78 29.022 28.02.2008, 17:12
Letzter Beitrag: Schumuckl
  Eigene Seiten NICHT in Wer ist Online Alex76 3 1.997 19.08.2006, 12:36
Letzter Beitrag: Michael