Page 1 of 1

Können RTs in externer Datei umgesetzt werden?

Posted: Sat 21. Jan 2006, 20:41
by dani
Es geht dabei um folgendes:
Ich habe mittlerweile über 10 Vorlagen/Templates. In all diesen Vorlagen sind die Blöcke "html head", "Kopfzeile", "Fußzeile" und "Fehler" gleich. Wenn ich nun in einer Vorlage eine Änderung mache muss ich diese in alle anderen Vorlagen kopieren.
Eine Änderung kommt zwar nicht so oft vor ist aber etwas umständlich. Darum habe ich versucht die jeweiligen Blöcke in einer Vorlagendatei zu verwalten und in der Vorlage nur noch einen Link zu Vorlagendatei zu machen. Somit muss ich nur eine Datei editieren.
Ich nutze z.B. zum einbinden der Vorlagendatei footer.php diesen RTs

Code: Select all

{URL:http://www.domain.de/content/pages/footer.php}
Dies funktioniert ohne Probleme. Nur hatte ich auch die RTs

Code: Select all

 [PRINT][/PRINT], {SPACER} und [TOP][/TOP]
in der Fusszeile verwendet. Diese werden darüber aber nicht umgesetzt.
Wie kann man dies realisieren?

Posted: Sun 22. Jan 2006, 06:15
by Pixcy
Ich weiß zwar nicht, wie das richtig umgesetzt werden muss, vermute aber mal, dass deiner footer.php die Definitionen der Replacement Tags fehlen. Wie diese eingebunden werden, kann ich dir leider nicht sagen, eine mögliche - nicht ganz ordentliche - Lösung hab ich für den TOP-Link und den Spacer:

<a href="#top"><img src="img/article/top_link_0.gif" alt="" border="0"></a>

<img src="img/leer.gif" alt="" border="0" height="8" width="40">

Den Link für die Druckversion kann man mit Standart-HTML nicht einbinden, weil die Adresse ja für jeden Artikel variiert.

Versuche doch auch mal, den Pfad relativ anzugeben ({URL:../../content/pages/footer.php} o. ähnlich) - vielleicht gibt es ja Probleme mit der Rechtezuweisung in PHP auf deinem Webserver, wenn man eine 'externe' URL angibt - oder das ganze per <? php include('../../content/pages/footer.php'); ?> einzubinden - ich weiß ja nicht, wie der {URL:...}-Tag realisiert ist, aber mit dem Standard-Include von PHP dürfte es eigentlich funktionieren.

Hoffe, eine der Ideen bringt dich ein Stück weiter,
Tim.[/code]

Posted: Sun 22. Jan 2006, 13:47
by dani
Pixcy wrote: Versuche doch auch mal, den Pfad relativ anzugeben ({URL:../../content/pages/footer.php} o. ähnlich) - vielleicht gibt es ja Probleme mit der Rechtezuweisung in PHP auf deinem Webserver, wenn man eine 'externe' URL angibt - oder das ganze per <? php include('../../content/pages/footer.php'); ?> einzubinden - ich weiß ja nicht, wie der {URL:...}-Tag realisiert ist, aber mit dem Standard-Include von PHP dürfte es eigentlich funktionieren.

Hoffe, eine der Ideen bringt dich ein Stück weiter,
Tim.[/code]
Hallo Tim,
Bingo, das mit dem

Code: Select all

<? php include('../../content/pages/footer.php'); ?>
funktioniert. Der Versuch mit dem URL Tag war eine Sackgasse. Ich hatte es auch schon mit dem relativen Pfad versucht. Da kam eine Script Fehlermeldung.
Der PHP-Code kann ja im Template nicht direkt ausführt werden. Es funktionieren aber beide PHP RTs. Es geht mit

Code: Select all

{PHP:content/pages/footer.php}
oder

Code: Select all

[PHP]include('content/pages/footer.php');[/PHP]
Komisch, manchmal liegt die Lösung so nah, aber man sieht sie nicht.
Besten Dank für die Hilfe.
Daniel