MyBB.de Forum
Eigene Seiten Tutorial - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-36.html)
+---- Thema: Eigene Seiten Tutorial (/thread-8800.html)

Seiten: Seiten: 1 2 3


RE: Eigene Seiten Tutorial - StefanT - 17.03.2008

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.


RE: Eigene Seiten Tutorial - Michael - 17.03.2008

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.


RE: Eigene Seiten Tutorial - Dave - 17.03.2008

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".


RE: Eigene Seiten Tutorial - NeoWhoRU - 18.03.2008

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


RE: Eigene Seiten Tutorial - StefanT - 18.03.2008

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.


RE: Eigene Seiten Tutorial - NeoWhoRU - 19.03.2008

Danke, dann werde ich das gleich mal so ausprobieren ob es funktioniert Wink