NAVIGATION
This shows you the differences between two versions of the page.
deutsch:ersetzer_rts:frontend_render [2009/08/20 10:50] Knut Heermann (flip-flop) |
deutsch:ersetzer_rts:frontend_render [2018/06/03 18:09] (current) |
||
---|---|---|---|
Line 5: | Line 5: | ||
\\ | \\ | ||
- | **Beschreibung:** \\ | + | **Beschreibung:** |
- | Im /frontend_render/ -Ordner können php Skripte abgelegt werden, die während des Parsens //(vereinfacht: Interne Verarbeitung)// der Seite abgearbeitet werden, bevor die Seite an den Browser ausgeliefert wird. | + | |
+ | Im **/frontend_render/** -Ordner können php Skripte abgelegt werden, die während des Parsens //(vereinfacht: Interne Verarbeitung)// der Seite abgearbeitet werden, bevor die Seite an den Browser ausgeliefert wird. | ||
Alle Dateien mit der Endung *.php werden vom System geladen und ausgeführt. Die Dateinamen sind frei wählbar //(empfohlenes Muster: rt_mein_dateiname.php). // \\ | Alle Dateien mit der Endung *.php werden vom System geladen und ausgeführt. Die Dateinamen sind frei wählbar //(empfohlenes Muster: rt_mein_dateiname.php). // \\ | ||
Line 13: | Line 14: | ||
Das Kernstück ist in der Regel die Variable **$content["all"]**, in der der Inhalt des Contents der Seite liegt //(zwischen **<body>** und **</body>**). // \\ | Das Kernstück ist in der Regel die Variable **$content["all"]**, in der der Inhalt des Contents der Seite liegt //(zwischen **<body>** und **</body>**). // \\ | ||
Es können natürlich auch andere systemfremde Funktionen ausgeführt werden. | Es können natürlich auch andere systemfremde Funktionen ausgeführt werden. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Wichtig ===== | ||
+ | |||
+ | **In allen Dateien in diesem Ordner sollte aus Sicherheitsgründen am Anfang jeder Datei folgende Sequenz stehen:** | ||
+ | <file> | ||
+ | <?php | ||
+ | // ---------------------------------------------------------------- | ||
+ | // obligate check for phpwcms constants | ||
+ | if (!defined('PHPWCMS_ROOT')) { | ||
+ | die("You Cannot Access This Script Directly, Have a Nice Day."); } | ||
+ | // ---------------------------------------------------------------- | ||
+ | ... | ||
+ | ... | ||
+ | </file> | ||
+ | |||
+ | \\ | ||
==== Einfaches Beispiel: ==== | ==== Einfaches Beispiel: ==== | ||
Line 144: | Line 163: | ||
- | Wenn mehr als eine Datei im Ordner /frontend_render/ existieren und die Resultate dieser Routinen in Abhängigkeit zueinander stehen, taucht ein fudamentales Problem verursacht durch die Abarbeitungsreihenfolge auf. \\ | + | Wenn mehr als eine Datei im Ordner /frontend_render/ existieren und die Resultate dieser Routinen in Abhängigkeit zueinander stehen, taucht ein fundamentales Problem verursacht durch die Abarbeitungsreihenfolge auf. \\ |
Wir haben leider keinen direkten Einfluss auf die Abarbeitungsreihenfolge der Dateien im Ordner /frontend_render/. | Wir haben leider keinen direkten Einfluss auf die Abarbeitungsreihenfolge der Dateien im Ordner /frontend_render/. | ||
+ | |||
+ | ==== Lösung 01 ==== | ||
**Dargestellt am Beispiel NAV_HORIZ_DD und dem FE Sprachumschalter.** | **Dargestellt am Beispiel NAV_HORIZ_DD und dem FE Sprachumschalter.** | ||
Line 151: | Line 172: | ||
--> [[http://forum.phpwcms.org/viewtopic.php?p=119117#p119117|Forum]] [EN] | --> [[http://forum.phpwcms.org/viewtopic.php?p=119117#p119117|Forum]] [EN] | ||
- | - Wir verwenden eine externe Navigation wie [[deutsch/navigation/dropdown-flyout/nav_horiz_dd|{NAV_HORIZ_DD:xx,yy}]] | + | - Wir verwenden eine externe Navigation wie [[deutsch/navigationen/dropdown_flyout/nav_horiz_dd|{NAV_HORIZ_DD:xx,yy}]] |
- Wir verwenden den externen /frontend_render/ -Sprachumschalter. | - Wir verwenden den externen /frontend_render/ -Sprachumschalter. | ||
Line 164: | Line 185: | ||
- Verschiebe die beiden Dateien rt_nav_horiz_drop_down.php und lang_replace.php aus /frontend_render/ nach /frontend_render/special/ | - Verschiebe die beiden Dateien rt_nav_horiz_drop_down.php und lang_replace.php aus /frontend_render/ nach /frontend_render/special/ | ||
- Erstelle eine Datei z.B. processing_order.php in /frontend_render/ | - Erstelle eine Datei z.B. processing_order.php in /frontend_render/ | ||
+ | \\ | ||
- | + | <code php|h processing_order.php > | |
- | <code php|h processing_order.php h|> | + | |
<?php | <?php | ||
Line 182: | Line 203: | ||
?> | ?> | ||
</code> | </code> | ||
+ | \\ | ||
+ | |||
+ | ==== Lösung 02 ==== | ||
+ | Um die Skriptlaufzeit auf dem Server zu optimieren, können Sie die Inhalte aller Dateien in /frontend_render/* in der richtigen Reihenfolge in eine Datei schreiben z.B. master.php \\ | ||
+ | Jetzt müssen natürlich alle anderen Dateien in diesem Ordner deaktiviert werden z.B. durch die Endung *.php_ | ||
Das ist alles, wir haben die Abarbeitungsreihenfolge bestimmt. :-D \\ //(Sie können das mit allen anderen php Skripten in /frontend_render/ praktizieren, wenn ähnliche Probleme auftauchen).// | Das ist alles, wir haben die Abarbeitungsreihenfolge bestimmt. :-D \\ //(Sie können das mit allen anderen php Skripten in /frontend_render/ praktizieren, wenn ähnliche Probleme auftauchen).// |