nochmals Parametrierung eines Squelettes

Ich hab eine Galerie für meine Bedürfnisse angepasst:
(http://www.spip-contrib.net/Des-boucles-pour-des-albums-de)

Hier sehe ich z.B. dass am Anfang die Anzahl Bilder in der Vorschau definiert ist
<?php define("VIGNETTES_PAGE", 4);
Im ganzen Skelette wird dann wenn immer möglich mit dieser Konstanten gearbeitet.

Aber hier muss offenbar mit einer Konstanten (Zahl) gearbeitet werden, auf jeden Fall bekam ich das anders nicht hin, obwohl es ja denkbar wäre, eine php-variable zu verwenden, zumal die BOUCLE auch innerhalb des php-codes aufgelöst wird.
<BOUCLE_vignettes(DOCUMENTS){id_article}{extension==jpg|png|gif}{debut_vignette,4}>

#ENV macht nicht wirklich Sinn, denn es ist eine konstante Eistellung, genau auf diese Template bezogen.
Es ist klar, dass das Sinn machen würde, wenn man Konstanten verwenden könnte, aber wie?

Gruss
Patrick

P.S.
zu #ENV

{titre==(#ENV{'Footer',Sard})} o.k.

#ENV{'Footer',Diving) falsch
a:2:{s:7:&quot;SelSite&quot;;s:6:&quot;Diving&quot;;s:4:&quot;
fond&quot;;s:10:&quot;parmstyles&quot;;}{SelSite,Sard}

[(#ENV{'Footer',Diving})] nur so wird die Variable korrekt angezeigt

Hallo Patrick,
hier ein Link zur Verwendung von "define":
http://de3.php.net/manual/en/function.define.php
Soweit ich das sehe, kannst Du Variablen zur Definition der Werte Deines "define" verwenden. D.h., es sollte möglich sein, einen Wert per GET oder POST zu übergeben und so auszuwerten, dass er an die Konstante übergeben wird.

Die Skelette aus "Des-boucles-pour-des-albums-de" enthalten PHP-Code, wodurch das Cache-System übergangen wird. Mit den Funktionen zur Bildbearbeitung und der erweiterten Syntax der Schleifen (BOUCLE) von SPIP >=1.82 kann man das meiste mit reinem SPIP-Code machen, so dass die Verwendung des Cache möglich bleibt.

Dann macht auch der Einsatz von #ENV Sinn.

Grusz, klaus++

Patrick Ogay schrieb:

Ich hab eine Galerie für meine Bedürfnisse angepasst:
(http://www.spip-contrib.net/Des-boucles-pour-des-albums-de)

Hier sehe ich z.B. dass am Anfang die Anzahl Bilder in der Vorschau definiert ist
<?php define("VIGNETTES_PAGE", 4);
Im ganzen Skelette wird dann wenn immer möglich mit dieser Konstanten gearbeitet.

Aber hier muss offenbar mit einer Konstanten (Zahl) gearbeitet werden, auf jeden Fall bekam ich das anders nicht hin, obwohl es ja denkbar wäre, eine php-variable zu verwenden, zumal die BOUCLE auch innerhalb des php-codes aufgelöst wird.
<BOUCLE_vignettes(DOCUMENTS){id_article}{extension==jpg|png|gif}{debut_vignette,4}>

#ENV macht nicht wirklich Sinn, denn es ist eine konstante Eistellung, genau auf diese Template bezogen.
Es ist klar, dass das Sinn machen würde, wenn man Konstanten verwenden könnte, aber wie?

Gruss
Patrick

P.S.
zu #ENV

{titre==(#ENV{'Footer',Sard})} o.k.

#ENV{'Footer',Diving) falsch
a:2:{s:7:&quot;SelSite&quot;;s:6:&quot;Diving&quot;;s:4:&quot;
fond&quot;;s:10:&quot;parmstyles&quot;;}{SelSite,Sard}

[(#ENV{'Footer',Diving})] nur so wird die Variable korrekt angezeigt

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

Hallo Patrick,

Vielen Dank für den Hinweis.

Klar doch :wink:

Der mit Define definierte String, wurde in der Boucle nicht aufgelöst.

Hat das mit einer älteren SPIP-Version geklappt? Die Galerien wurden wohl bereits für SPIP 1.72 geschrieben (kann mich irren).

Ich hab schon HTTP_GET_VARS['Var'] = 'Wert' gesetzt, in der Meinung, dass man es dann ev. über #ENV wieder einlesen könnte.

Mit #ENV hast Du Zugriff auf alle Variablen, die Du per GET oder POST übergibst.

Es kann gut sein, dass die Sachen früher, d.h. in mes_options.php ev. mes_fonction defniert sein müssten, nur das ist nicht der Ort für Benzutzerspezifische Template-Defnitionen.

Das ist eine Stil- und Geschmacksfrage. Finde ich auch nicht gut, weil zu aufwendig und schlecht zu pflegen.

Balises können ja jetzt auch definiert werden, nur ist das relativ kompliziert, und deswegen auch nicht geeignet.

Wenn Du in der SPIP-Datenbank einer Tabelle Felder hinzufügst, kannst Du sie mit #FELDNAME abfragen. Komplizierter wird es nur bei berechneten #BALISES (z.B. eine Addition der Werte aus zwei Feldern der Datenbank) und bei externen Datenbanken. Die Nutzung externer Datenbanken ist auch recht einfach zu machen. Es genügt sie zu definieren (müsste ich jetzt nachsehen, wie das geht), dann stehen alle Felder mit der Syntay #FELDNAME zur Verfügung.
Startpunkt für Deine Recherche könnten diese Links sein:
http://www.spip-contrib.net/spikini/VarianteMotsContribLa?wiki=AutreTableNonSpip
und
http://www.spip-contrib.net/spikini/PagePrincipale
im Abschnitt "Pour le bidouilleur".

Es wäre aber schon sehr gut, wenn's eine Möglichkeit gäbe ein Squelette zu "peronalisieren" und nicht von einer URL, v.a. wenn's 50 Konstanten/Variablen sind :slight_smile:

Idee: Schreibe Deine Werte für die Personalisierung in ein Cookie, lese sie mit einer Funktion in mes_fonctions.php3 aus, schreibe diese Werte in GET oder POST Variablen und steuere das Verhalten Deiner Seite mit #ENV. Dann hast Du kein PHP in der Seite und kannst den SPIP-Cache nutzen.
Bei der Personalisierung schlägt man sich immer, egal ob unter SPIP oder nicht, mit dem Cacheverhalten herum, denn es sollen ja jedem Leser zuverlässig eigene Werte übermittelt werden und nicht etwa die, welche für einen anderen gedacht sind. Indem Du die Cookie-Inhalte in GET und POST Variablen kopierst, kannst Du individuelle Abfrageschleifen (boucles) programmieren und zugleich den SPIP-Cache nutzen.

Ich werde weiter forschen, es könnte ja sein, dass SPIP in zukünftigen Releases das besser unterstützt.

Das ist in der Tat so. Zur Zeit wird der Redaktionsbereich modularisiert, so daß man eigene Features sowohl im öffentlichen Bereich als auch im privaten einbauen kann. Die Hauptarbeit ist IMHO jedoch bei der Dokumentation zu leisten. Zur Zeit gibt das Wiki wichtige Infos und die Kernentwickler antworten sehr schnell auf Fragen nach fortgeschrittenen Methoden.

In der französischen Gruppe läuft viel, hab bald einen Overflow an Mailsnoch schwierig den überblick zu behalten :slight_smile:

Genau.
Viel Spass weiter,
klaus++

Hallo Patrick,

Ich frage mich, warum die Spip-Dokumentation keine Artikel-Forum geschaltet hat. Den Input könnte man dann von Zeit zu Zeit einarbeiten.

Das Forum zur Dokumentation gibt es, ich muss da wohl mal einen Link setzen:
http://forum.spip.org/
Deutsche Beiträge: 36 Französische Beiträge: 15188 ...

Auch die Übersetzungen sind z.T. problematisch, es macht keinen Sinn, schlechten Content Wort für Wort zu übersetzen :slight_smile:

Na denn nix wie ran, ich habe mal eine große Anstrengung unternommen, so viel wie möglich ins Deutsche zu bringen, kann zur Zeit aber nur sehr wenig tun. Es ist übrigens "offizielle" Politik von SPIP.NET Unterschiede zwischen den einzelnen Sprachversionen zu machen. Was für Frankreich gut ist, muß es für das Deutsche noch lange nicht sein.

Grusz, klaus++

P.S. Schick' doch mal Links zu fragwürdigen Übersetzungen, dann kann man das gelegentlich abarbeiten.