Zu paersender Inhalt in das CMS?

Hallo Mailingliste.

Es hat sich gerade wieder eine Frage bei mir aufgetan, die ich selbst
IMHO mit "Nein" beantworten würde. Trotzdem möchte ich hier einmal
fragen.

Ich habe auf meiner Seite etwa 10 verschiedene Rubriken, die (fast) alle
eigene Templates haben. Da ich selbst ungern mit Frames arbeite, und das
ja auch irgendwie gegen ein CMS spricht, habe ich in jedem Template ein
Menü eingebaut. Jetzt habe ich eineige Änderungen in dem Menü
vorgenommen und möchte diese nicht in allen Templates durchführen. Kann
ich das Menü, welches natürlich auch aus Schleifen (Boucles) besteht,
selbst in die Datenbank integrieren? Ich habe das ganze mit einer
einfachen Artikel-Schleife probiert, die ich in einen Artikel
geschrieben habe; in etwa so:

<BOUCLE_test(ARTICLES)>
#TITRE
</BOUCLE_test>

Wenn ich diesen Artikel jetzt aufrufe, wird nur "#TITRE" angezeigt. Gibt
es hier eine Möglichkeit den Inhalt eines Artikels erneut parsen zu
lassen oder muss ich mir hier etwas in PHP zusammen "basteln"?

Danke und Gruß,
Peter Reimer

Quoting Peter Reimer <punky@gmx.ch>:

Hallo Peter,

Da ich selbst ungern mit Frames arbeite, und das
ja auch irgendwie gegen ein CMS spricht, habe ich in jedem Template ein
Menü eingebaut.

Ich denke mir auch, dass Frames etwas der Logig von SPIP widersprechen.

Jetzt habe ich eineige Änderungen in dem Menü
vorgenommen und möchte diese nicht in allen Templates durchführen.

SPIP bietet die Möglichkeit Templates zu verschachteln.
Die Templates können zudem von einer Bedingung abhängig gemacht werden.

Bsp:
bsp:
<INCLURE(_navalpha.php3) {id_rubrique}>

Der Verarbeitung können, ähnlich wie in den <BOUCLE> Selektinskriterien
mitgegeben werden.

Es gelten die gleichen Parsingregeln der HTMLs Parsing und Substitution, man
kann also ein _navalpha-77.html haben. Wenn die Rubrik 77 ist wird dann
_navalpha-77 sonst _navalpha.

Falls man mit einem Squelette-Pfad arbeitet: die includierten Files dürfen dort
sein.

Das Zeugs funktioniert also, ich hab's aufprobiert.
Aber INCLURE gross schreiben :slight_smile:

Kann
ich das Menü, welches natürlich auch aus Schleifen (Boucles) besteht,
selbst in die Datenbank integrieren? Ich habe das ganze mit einer
einfachen Artikel-Schleife probiert, die ich in einen Artikel
geschrieben habe; in etwa so:

Die Boucles selbst kannst Du nicht in die DB stellen, aber in ein <INCLURE ..>
dieses kann wieder <BOUCLE...> enthalten, also DB's lesen.

<BOUCLE_test(ARTICLES)>
#TITRE
</BOUCLE_test>
Wenn ich diesen Artikel jetzt aufrufe, wird nur "#TITRE" angezeigt.

klar, #TITRE zeigt den Titel des Artikels, der Text hat die Bezeichnung #TEXTE

Gibt es hier eine Möglichkeit den Inhalt eines Artikels erneut parsen zu
lassen oder muss ich mir hier etwas in PHP zusammen "basteln"?

Du kannst die Möglichkeiten von SPIP mit PHP erweitern, aber hier scheint es mir
keinen Sinn zu machen.
PHP-Code könntest Du theoretisch in Arikeln haben, SPIP kommentiert den Code
allerdings aus. Mit einem Filter kann man das wieder rückgängig machen
(Sicherheit beachten).
Der PHP-Code wird erst am Schluss interpretiert, also nachdem Parsing von SPIP.

viel Erfolg
Gruss
Patrick

Hallo Peter,

extra für Dein Problem gibt es eine spezielle SPIP-Funktion. So geht's:

Du kannst Deinen Menü-Code in eine Datei mit der Endung .html schreiben, die wie
gewohnt von einer gleichnamigen Datei mit der Endung .php3 aufgerufen wird.

In die Templates, welche Dein Menü verwenden sollen, fügst Du an der gewünschten
Stelle den folgenden Code ein:
<INCLURE(name_deines_menues.php3){fakultative_parameter}>
Nun wird Dein Menü an Stelle des Codes angezeigt.

Jetzt brauchst Du Änderungen am Menü nur noch einmal zu machen. Diese
Vorgehensweise hat noch einen weiteren Vorteil: Du kannst den Cache-Timeout des
Menüs unabhängig von den anderen Seiten einstellen. Das Menü könnte z.B. stündlich
aktualisiert werden, eine Archivseite aber nur im Monatsrythmus, trotzdem würde sie
das aktuelle Menü zeigen.

Es ist überflüssig, ein Menü in der Datenbank zu erfassen, und es ist
VERBOTEN, ausführbaren Code in Artikel zu schreiben. Jeder Redakteur
könnte auf diesem Weg beliebigen Code auf Deinem Server ausführen,
was nicht so ganz sicher wäre :wink:

Aus diesem Grund ignoriert SPIP PHP-Code in Artikeln, was auch zu dem von Dir
beschriebenen Verhalten führt.

INCLURE ist übrigens identisch mit der PHP-Funktion include(), Du kannst also alles
Mögliche damit zusammenfügen. Wenn Du ein Beispiel für die Verwendung der
Funktion sehen möchtes, schaue Dir mal
http://www.kinderuni-berlin.de
an. Das Vorlesungsverzeichnis stammt von der Website SPIP-CONTRIB
(http://www.uzine.net/spip_contrib/article.php3?id_article=113)
ist mit INCLURE in das Rubrik-Template eingebunden.

Viel Spass weiterhin,
Klaus.

Hallo Mailingliste.

Es hat sich gerade wieder eine Frage bei mir aufgetan, die ich selbst
IMHO mit "Nein" beantworten würde. Trotzdem möchte ich hier einmal
fragen.

Ich habe auf meiner Seite etwa 10 verschiedene Rubriken, die (fast)
alle eigene Templates haben. Da ich selbst ungern mit Frames arbeite,
und das ja auch irgendwie gegen ein CMS spricht, habe ich in jedem
Template ein Menü eingebaut. Jetzt habe ich eineige Änderungen in dem
Menü vorgenommen und möchte diese nicht in allen Templates
durchführen. Kann ich das Menü, welches natürlich auch aus Schleifen
(Boucles) besteht, selbst in die Datenbank integrieren? Ich habe das
ganze mit einer einfachen Artikel-Schleife probiert, die ich in einen
Artikel geschrieben habe; in etwa so:

<BOUCLE_test(ARTICLES)>
#TITRE
</BOUCLE_test>

Wenn ich diesen Artikel jetzt aufrufe, wird nur "#TITRE" angezeigt.
Gibt es hier eine Möglichkeit den Inhalt eines Artikels erneut parsen
zu lassen oder muss ich mir hier etwas in PHP zusammen "basteln"?

Danke und Gruß,
Peter Reimer

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de