$CyCMS_VALUE[]

Gesperrt
mm2knet
Beiträge: 9
Registriert: Fr 5. Dez 2008, 12:54
Kontaktdaten:

$CyCMS_VALUE[]

Beitrag von mm2knet »

Hallo,

Ich habe von dem oben genannten Befehl gehört, mit dem man auf die Daten eines anderen Containers zugreifen kann.

Leider funktioniert die Variable bei mir nicht und es kommt immer nur eine Fehlermeldung:

Code: Alles auswählen

Parse error: syntax error, unexpected T_VARIABLE in /PFAD/cms/front_content.php(995) : eval()'d code on line 69
Folgender Befehl erzeugt die Fehlermeldung:

Code: Alles auswählen

var_dump( $C7CMS_VALUE );
Ich wollte eigentlich mit

Code: Alles auswählen

$s=$C7CMS_VALUE[2];
auf Daten, die in einem anderen Modul, welches später abgearbeitet wird, vorhanden sind, zugreifen. Also auf in der Datenbank gespeicherte Daten.

Danke schon mal im Vorraus :)
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: $CyCMS_VALUE[]

Beitrag von xmurrix »

Hallo mm2knet,

in Contenidomodulen werden vorhandene Zeichenketten, die "CMS_VALUE" enthalten, vom Modularser ersetzt. Auch Variablen, wie z. B. $C7CMS_VALUE - Daraus wird dann etwas wie $C7$CMS_VALUE, was von PHP als Fehler quittiert wird. Betrachte Zeichenketten, die "CMS_VALUE" enthalten, als für Contenido reservierte Zeichenketten. Diese sollten nur für die Verwendung als benutzerdefinierte Datenfelder (z. B. CMS_VAR[1], CMS_VALUE[1]) eingesetzt werden.

Modulkonfigurationen sind aber im globalen Namensraum verfügbar, daher kannst du über $GLOBALS darauf zugreifen z. B. mit:

Code: Alles auswählen

$modVar = isset($GLOBALS['C7CMS' + '_VALUE']) ? $GLOBALS['C7CMS' + '_VALUE'] : '';
var_dump($modVar);
Die Verkettung 'C7CMS' + '_VALUE' ist deshalb gemacht, damit der Modulparser es nicht als benutzerdefiniertes Datenfeld erkennt und ersetzt.

Kommt aber das Modul, auf dessen Variable du zugreifen möchtest, im Template später vor, so hast du vorher keinen Zugriff darauf. Du kannst auf solche Variablen entweder im selbigen Modul oder erst danach zugreifen - vorher geht nicht, zumindest nicht ohne etwas Proggen.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
mm2knet
Beiträge: 9
Registriert: Fr 5. Dez 2008, 12:54
Kontaktdaten:

Re: $CyCMS_VALUE[]

Beitrag von mm2knet »

Hallo,

Danke für deine Antwort.

Also muss ich doch um die Daten auszulesen über die Datenbank arbeiten. Wäre schön gewesen, wenns ne Abkürzung gegeben hätte.

Ich hatte gehofft, dass ich mir diesmal den Spaß sparen könnte ;)

Gruß,
mm2knet
Gesperrt