Lieber Klaus
vielen Dank für die Hilfe. Ich habs jetzt geschafft.
1. in den HTML-Templates selber
Einfach <?php //Dein Code echo "Hello world"; ?> einfügen
Das bezahlst Du mit dem Verlust der beschleunigten und
ressourcenschonenden Auslieferung Deiner Seiten per Cache.
Dafür wird der Code bei jeder Auslieferung der Seite ausgeführt. Ist
z.B. für Login-Seiten geeignet.
Ja, aber bei mir handelt es sich um eine kleine Weiche, also vielleicht 50 Zeichen Code, das ist nicht die Riesenrechnerei. Wenn alles perfekt läuft (muss noch das stylesheet Gebastel machen, aber das ist überschaubar) ...
2. in mes_fonctions.php
Dieser Code wird beim Generieren der Seiten für den Cache ausgeführt,
also z.B. immer wenn Du auf "Seite aus dem Cache" löschen klickst. Das
ist meistens der richtige Ort.
... schreib ichs hier rein.
3. in mes_options.php
Dieser Code wird bei jedem Aufruf von spip.php ausgeführt, also "immer".
Alternativ hier.
4. in Deinen Plugins
http://programmer.spip.org/spip.php?page=recherche&lang=en&recherche=plugin
Du kannst in SPIP-Templates jede selbstgeschriebene Funktion (z.B. aus
mes_fonctions.php) und jede PHP-Funktion als Filter verwenden. Das sieht
so aus:
[(#TITRE|meinfilter)]
Deine Funktion muß den Wert von #TITRE als Parameter entgegennehmen und
das Ergebnis der Bearbeitung per "return $meinevariable;" zurückgeben.
Du kannst auch mehrere Filter bzw. Funktionen hintereinadnderschalten:
[(#TITRE|strtoupper |meinfilter1)]. Dabei werden die Filter von links
nach rechts abgearbeitet.
Meine Weiche ist ja eine generelle und nicht in einzelnen Feldern aktiv. Aber gut zu wissen!
Aber dann kommt die nächste Weiche: Wie kann ich in einem Template eine Weiche für verschiedene .css files machen (damit ich das Layout für Mobile anpassen kann)? Ich muss ja eine Variable übergeben oder so was.
s.o. + s.u.
Und php ist ja gesperrt im spip.
Das gilt nur den Inhalt der Datenbank, also die Eingabe per
Redaktionssystem. Da sind dann auch alle anderen aktiven Inhalte
gesperrt (Du darfst mit CSS-Code Schabernack treiben
). Man kann
diese Sicherheitsprüfung abschalten. Das will man aber nicht.
Nee,nee, das wäre schlecht!
Da ich das nicht kann, habe ich gedacht, ich rufe von PC und Mobile andere Templates auf (article.html und m_article.html). Das klappt aber nicht. Weshalb weiss ich nicht.
Wahrscheinlich ein Syntaxfehler.
Habe alles überprüft und tatsächlich verlorene } usw. gefunden ... wahrscheinlich abflachende Konzentration ...
... habe festgestellt, dass Zeichensatz eine Rolle spielt (habe auf UTF-8 gewechselt, dann gings).
Auch bei SPIP verbringt man Zeit mit
dem Studium der Doku, wenn man die erweiterten Features nutzen will.
Genau, ist für Nichtprogrammierer wie mich ne steile Lernkurve, normalerweise macht das Patrick, aber der ist irgendwie verschwunden ... Keine Ahnung wo der steckt ... geht nicht ans Mail, Telefon, ... ich mach mir Sorgen.
Am
besten fragen. spip-de@rezo.net ist OK für den Einstieg, wenn Du direkt
mit den wichtigsten Entwicklern sprechen möchtest, kannst Du neben den
französischen auch die englische Liste (spip-en@rezo.net) nutzen.
Danke!
#ENV{mobile}
siehe:
Glossaire - SPIP
Glossary - SPIP
von dort kommst Du z.B. zu dieser genaueren Erläuterung von #ENV
#ENV - SPIP
Hab ich durchstudiert, wäre wohl auch gegangen ...
Wenn Du so etwas vorhast, kannst Du Dir das Leben leicht machen:
Du fügst den Code für das eine oder andere CSS nur unter einer Bedingung
ein.
Ganz genau!! Das hab ich jetzt getan, und jetzt läufts!!!
- Mit sioui / sinon unter bestimmten Bedingungen d.h. wenn der Wert
einer Variablen oder Datenfeldes passt.
http://programmer.spip.org/Testing-filters
Verwende ich in Layoutweichen, wenn z.B. die Home anders aussieht wie der Rest.
Viel Spaß,
klaus++
Ebensoviel, heissen Dank und noch einen schönen Sonntag!
Gruss, Nicholas