Hallo,
ich habe mich die vergangenen Tage daran versucht, per SSI den Inhalt einer Datei in eine Content-Seite einzubauen. Dazu habe ich im xtAdmin unter Inhalte->Contentmanager->Content die Seite AGB geladen und in der Quellcode-Ansicht des Editors die folgenden Zeile eingefügt (die erste Zeile zu Testzwecken, ob SSI überhaupt funktionieren):
<!--#echo var="DOCUMENT_NAME"-->
<!--#include file="/info/agb.html"-->
Zunächst passierte garnichts. Nun habe ich erfahren, dass man die SSI-Ausführung für Dateien, die eine andere Endung als .shtml haben, auf unserem Server per .htaccess-Datei mit der folgenden Zeile "aktivieren" muss:
AddType text/x-server-parsed-html .html
Ab jetzt wurde eine einzelne .html Datei auf dem Server korrekt verarbeitet, ich habe dies mit der folgenden Datei getestet:
<html>
<head>
<title>Dynamisches HTML mit Server Side Includes</title>
</head>
<body>
<h1>Dynamisches HTML mit Server Side Includes</h1>
<pre>
Datum/Uhrzeit auf dem Server-Rechner: <!--#echo var="DATE_LOCAL"-->
Name dieser HTML-Datei: <!--#echo var="DOCUMENT_NAME"-->
Installierte Server-Software: <!--#echo var="SERVER_SOFTWARE"-->
Ihr WWW-Browser: <!--#echo var="HTTP_USER_AGENT"-->
</pre>
</body>
</html>
An meiner gewünschten Stelle (in der Content-Seite) wurde aber nach wie vor nichts eingebunden - im Quelltext der Seite stehen noch immer die Platzhalter, die durch SSI ersetzt werden sollten:
<!--#echo var="DOCUMENT_NAME"-->
<!--#include file="/info/agb.html"-->
Da die einzelnen Seiten zwar durch die Suchmaschinen-Einstellungen im Shop als .html an den Browser geliefert werden, aber eigentlich .php Dateien sind, habe ich die Endung .php an die Zeile in der .htaccess-Datei angehängt:
AddType text/x-server-parsed-html .html .php[/code]
Ab jetzt werden auch einzelne Dateien mit der Endung .php korrekt verarbeitet, aber auf der Contentseite noch immer keine Besserung.
Nun stellt sich mir die Frage, warum dies so ist. Sorgt irgendetwas am Shop dafür, dass die SSI-Befehle nicht verarbeitet werden, oder ist es einfach nur die Tatsache, dass die Shopseiten ja nicht fertig vorliegen, sondern zusammengesetzt werden? Oder werden die Seiten nach dem Zusammensetzen nur nicht an den SSI-Prozess weitergegeben, weil sie ja bereits vom PHP-Prozess verarbeitet wurden und der die Seite dann direkt an den Browser sendet?
Letztendlich möchte ich ja nur eine Möglichkeit, auf den Content-Seiten den Inhalt einer anderen Datei einbinden zu können, der auf vielen Content-Seiten enthalten sein soll und der sich oft ändert, so dass man zur Pflege nur diese eine Include-Datei editieren muss und nicht alle Content-Seiten jedesmal editieren braucht.
Wenn jemand eine alternative Lösung für mich hat, wie ich zusätzliche Inhalte aus einer externen Datei in den Content einbinden kann, Vorschläge sind mir sehr willkommen!
Mit freundlichen Grüßen...