Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 24. März 2011 15:08

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

variable von externer seite auslesen

Ich habe mal wieder eine Knobelaufgabe. Möglicherweise mache ich es mir zu kompliziert.
Es handelt sich um eine CMSms Seite mit zwei templates.
In einem Template steckt content_dump um die Inhalte der Seiten mit dem anderen Template zu "holen".
Das funzt ja sehr gut für content blöcke mittels dem parameter "extensions".
nun möchte ich aber auch eine variable von dem template bzw der seite laden.
also hatte ich mir einen workaround mit advancedcontent einfallen lassen:

{assign var=varname value="hallo welt"}
{content block="templatevar" assign="templatevar" active="false" default=`$varname`}

Als nächste hätte ich versucht "templatevar" als weiteren block mittels dem extensions-paramater von content_dump zu laden.
Aber das wäre zu einfach gewesen. Leider bleibt bei get_template_vars der block leer (auch bei default=$varname). Aus bestimmten Gründen kann ich den Wert nicht direkt in der Seite bei der Bearbeitung hinterlegen. darum active="false". Gibt es sonst noch eine Möglichkeit an die Variable ranzukommen? also wozu ist dann active="false" gut? um erst einen wert zu hinterlegen und dann erst den block auszublenden?

Beitrag geändert von nicmare (24. März 2011 15:09)

Offline

#2 24. März 2011 15:32

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: variable von externer seite auslesen

Hatte content_dump nicht einen Parameter, mittels dessen man den geholten Inhalt parsen kann?

Offline

#3 24. März 2011 15:33

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: variable von externer seite auslesen

jup, aber selbst dann wäre dieser ja noch leer.

Offline

#4 24. März 2011 16:30

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.436

Re: variable von externer seite auslesen

Also active=false ist eigentlich nur, um einen Block mal zu deaktivieren, ohne ihn gleich aus dem Template zu löschen. Blöcke mit active=false werden weder im Backend noch Frontend angezeigt. Sie werden erst garnicht verarbeitet. Sind also überhaupt nicht da bzw. immer leer. Genausogut könnte man aber auch einfach {* content ... *} draus machen. Bringt Dich hier also nicht weiter.
(Der Parameter kommt warscheinlich auch wieder raus, weil eigentlich sinnlos.)

default=$varname ergibt für mich im Moment auch keinen Sinn.
Der Parameter ist eigentlich nur für's Backend, um bei neuen Seiten für diesen Block einen Standardwert vorzugeben. Im Frontend wird er nur dann berücksichtigt, wenn der Inhalt des Blocks leer ist, er aber nicht leer sein darf (Parameter allow_none=false).


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#5 24. März 2011 22:02

nhaack
Server-Pate
Ort: Bonn
Registriert: 12. Dezember 2010
Beiträge: 171
Webseite

Re: variable von externer seite auslesen

N'abend smile

Ich wiederhol' das mal mit meinen Worten um zu sehen, ob ich das verstanden habe.

- Du hast eine Seite X
- Diese Seite X enthält Content Blöcke, an die du auch alle per CD ran kommst
- Du hast eine Seite Y, auf der soll der Zauber stattfinden
- Auf der Seite X führst du aber noch irgendwelche Berechnungen/Abfragen/etc durch, deren Ergebnis du ebenfalls auf Seite Y sehen willst

Da fallen mir spontan folgende Optionen ein:

- Notwendige Werte zur Berechnung von X ebenfalls mitgeben und Berechnung auf der Seite Y erneut ausführen
- Logik, die deine Variable füllt in einen Content Block packen und diesen mit do_smarty=true (bei Content Dump) ausführen

Führt beides dazu, dass du den Wert jeweils erneut berechnest.

Hoffe das ging in die richtige Richtung.


@NaN: nicht löschen smile Ich mag solche Steuerparameter.

Viele Grüße
Nils

Offline