Verwendung von CMS_VAR und CMS_VALUE

Gesperrt
henning83
Beiträge: 41
Registriert: Mo 5. Sep 2005, 11:51
Kontaktdaten:

Verwendung von CMS_VAR und CMS_VALUE

Beitrag von henning83 » Sa 10. Dez 2005, 15:55

Hallo!

In welchem Bereich kann ich diese Variablen verwenden?
CMS_VAR[1..?]

Wie verhalten sie sich wenn sie in verschiedenen Modulen
vorkommen?
also VAR[1] in 2 Modulen?

Wenn es schon einen Forumseintrag zu diesem Thema gibt
wäre ein Link sehr nett. Oder gibt es irgendwo eine Beschreibung?

Vielen dank mal wieder :)

gruß und einen geruhsamen 3. advent

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: Verwendung von CMS_VAR und CMS_VALUE

Beitrag von mvf » Sa 10. Dez 2005, 17:23

as usual: bin ein rookie, but ....

im adminhandbuch steht das unter 3.2 recht gut beschrieben und ein blick in die standardinstallation einer 4.6.x zeigt mir, dass z.b. 2 unterschiedliche module text html existieren, die doch das selbe resultat liefern, um die gemeinsam in einem template einzusetzen steht in einem

CMS_HTML[1]

im anderen

CMS_HTML[2]

das sollte deine fragen erlären denke ich.

btw eine parallel standardinstallation mit allen beispielen und mandanten, kannich nurimmer wieder empfehlen zu spicken, für mich als rookie seeeeehr dienlich ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Sa 10. Dez 2005, 17:44

CMS_VAR's sind Modulabhängig und 2x CMS_VAR[1] in 2 Modulen ist kein Problem

CMS_HTML (und alle anderen Contenttypen) sind global, d.h. 2x CMS_HTML[1] überschreiben sich gegenseitig

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Sa 10. Dez 2005, 17:46

wieder was gelertn ;) merci
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

henning83
Beiträge: 41
Registriert: Mo 5. Sep 2005, 11:51
Kontaktdaten:

Beitrag von henning83 » Sa 10. Dez 2005, 18:13

Aha!

das ist schon mal was...
ich hatte nämlich das problem, dass ich ein modul mehrmals
einsetzen wollte...
und da kam es dann zu problemen...
es hat zwar funktioniert... aber wenn man in der vorkonfig
was änderte hat er es bei allen geändert... nicht nur bei einem...

was mich jetzt noch interessieren würde:
kann ich in den CMS_VAR auch Arrays speichern?

danke auch für prompten antworten bisher :)

gruß

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Sa 10. Dez 2005, 18:27

Die Frage ist IMHO noch offen: Der Index ist relativ beliebig, d.h. ein CMS_VAR[1000] geht auch.
kann ich in den CMS_VAR auch Arrays speichern?
Jein. Von Hause aus nicht. Da CMS_VALUEs nur in der Konfiguration (d.h. im Backend) definiert werden, kannst Du aber ein wenig JavaScript verwenden, um dies zu realisieren (denn da muss JS verfügbar sein).

Das Modul Newsletter Handler verwendet diesen Trick z.B. im Eingabe-Bereich (Gruppen-Auswahl).

Es sei noch erwähnt, dass es von kummer einen Vorschlag gibt, wie man arrays speichern kann (mal im Forum suchen).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

henning83
Beiträge: 41
Registriert: Mo 5. Sep 2005, 11:51
Kontaktdaten:

Beitrag von henning83 » Sa 10. Dez 2005, 21:10

Ok.
Ich hab nun auch mein Problem lösen können...
Der Autor des Moduls welches ich mehrmals verwende hat
- wie eigentlich normal -
seine Variablen am Ende des Moduls nicht gelöscht
daher stand beim 2., 3. und 4. Einsatz desselbigen
in eben diesen jede Menge Datengrütze drin :)
ein freundliches unset(varname) am ende konnte dieses Problem
beheben.

Ist das nicht eigentlich eine Idee für so ziemlich jedes Modul welches
man mehrmals verwenden will?
Nur um das Umbenennen der Variablen zu vermeiden...

Und was das Abspeichern von Arrays angeht...
Also wenn das von Hause aus erstmal arg kompliziert ist...
zur Not kann ich den Inhalt des Arrays auch per Trennzeichen
zusammenpacken und als laaangen String reinschreiben...
das wäre denke ich ein etwas einfacherer Weg... oder irre ich mich da?

Gruß

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Sa 10. Dez 2005, 21:26

Naja in der Regel sollte man in seinen Modulen keine uninitialisierten Variablen verwenden...finde ich auch den besseren Ansatz als jeden zu "zwingen", ein unset für alle Variablen am Ende des Moduls zu machen...

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 11. Dez 2005, 01:13

Außerdem gibt es Module, bei denen das ausdrücklich gewünscht ist - z.B. bei geteilter Navigation ermittelt das erste Modul alle benötigten Daten, das zweite gibt sie nur (an anderer Stelle) aus.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

henning83
Beiträge: 41
Registriert: Mo 5. Sep 2005, 11:51
Kontaktdaten:

Beitrag von henning83 » Mo 12. Dez 2005, 10:44

Hallo!

Naja...
zwingen ist auch ein sehr schlechter Ausdruck dafür...
ich hatte im konkreten Fall das Problem mit einer BannerRotation gehabt
eingesetzt werden soll sie 4 mal auf einer Seite... in einem Template spätestens beim 3. mal kam es zu Problemen weil aus dem letzten Einsatz noch die Daten im Array standen :)
und da ich es mir gerne kompliziert mache... hab ich anstatt die Variable
am Anfang neu zu initialisieren... sie eben am Ende gelöscht ;)
außerdem wollte ich die Überlegung vermeiden ob ein
$bla = "";
auch bei arrays alle belegten Elemente löscht...

was das besagte Modul angeht:
Gefunden wurde es (BannerRotation) wohl hier im Forum
ich hab - da nötig - beim Input die Möglichkeit hinzugefügt
Höhe und Breite des Bilder zu spezifizieren... inklusive Strecken oder Stauchen des Bildes... damit man nicht im Code rumbasteln muss
desweiteren fungiert das Bild auch gleich als Link... leider noch statisch...
d.h. gleicher Link bei allen Bildern...
Wenn mir jemand sagt, wo in der DB ich die Beschreibung des Bildes finde, dann könnte ich diese evtl. auslesen und den Link dynamisch setzen...
und falls interesse an diesem Modul besteht kann ich den code hier gerne noch mal posten... oder auch in einem Thread mit passendem Titel :)
in dem Sinne auch gleich einen Dank an denjenigen der das Original schrieb... leider hab ich seinen Namen nicht gefunden setze ihn aber sogleich rein wenn ich ihn erfahre...

gruß

Gesperrt