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

#1 16. August 2011 15:35

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

[GELÖST] Modulaufruf in Modulaufruf

Hi,

ähnlich wie bei meinem Problem "Smarty in Smarty", welches ja gelöst wurde, stehe ich nun vor der Aufgabe, einen Modulaufruf innerhalb eines Modulaufrufs zu tätigen.
Zur Problematik:
Ich nutze auf einer Seite die CGGoogleMaps. Dort kann man den Parameter "description" mit HTML füllen. Ich möchte dort gerne ein Bild einbinden, welches mit dem ImageCompressor Supersizer-Plugin generiert wird.
Naiv geschrieben würde also folgendes dabei raus kommen:

{cggm_add_dynpoint map='1' name=$item->fielddefs.ort.value address=$item->fielddefs.ort.value description="<img src="{supersizer path=$bild_1_url width='180' crop='true' url=1}" />"}{CGGoogleMaps}

Geht natürlich nicht.

Da ich auch nicht nur ein Bild sondern auch noch ein wenig Text zum Bild hinzufügen möchte, möchte ich mir eine Variable bauen, die ich dann ganz einfach im GoogleMaps-Modul aufrufen kann:

{assign var=cggm_description value="<p>Irgendein Text</p><img src="{supersizer path=$bild_1_url width='180' crop='true' url=1}" /><br /><p>Noch eine  Bildunterschrift</p>"}

Geht natürlich auch nicht.

Ich habe jetzt schon verschiedene Sachen mit |cat: ausprobiert. Letztendliche stören auf jeden Fall die Anführungszeichen im img-Tag. Habe auch schon versucht, sie zu maskieren (mit \ oder doppelte "").
Davon ab weiß ich halt nicht mal, ob es überhaubt irgendwie geht, in dieser Form einen Modulaufruf des supersizers auszuführen. Ist ja quasi durch die Hintertür.

Brauche also mal wieder helfende Hände smile

Beitrag geändert von jeff1980 (16. August 2011 17:50)

Offline

#2 16. August 2011 16:15

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Modulaufruf in Modulaufruf

Du kannst die Ausgabe von supersizer mit assign einer Variable zuweisen. Diese kannst du dann im CGGoogleMaps Aufruf einfügen:
http://www.corbensproducts.com/blog/exp … ample.html


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 16. August 2011 17:54

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 630

Re: [GELÖST] Modulaufruf in Modulaufruf

Super, danke. Hat geklappt. Habe mich oben total vertan mit ImageCompressor und Supersizer... Deshalb habe ich auch keine Hilfe dazu gefunden...
Manchmal sieht man den Wald vor lauter Bäumen nicht neutral

Der fertige Code sieht nun so aus (muss bei Bedarf natürlich entsprechend angepasst werden):

{supersizer path=$bild_1_url width='180' crop='true' url=1 assign='cggm_image'}
{assign var=cggm_description value=$item->fielddefs.$kurzbeschreibung.value|cat:"<br /><img src=\""|cat:$cggm_image|cat:"\" />"}
{cggm_add_dynpoint map='1' name=$item->fielddefs.ort.value address=$item->fielddefs.ort.value description=$cggm_description}{CGGoogleMaps}

1. Zeile: Der Output des Supersizers wird in cggm_image gespeichert
2. Zeile: cggm_description wird mit einem Textfeld aus ListIt2 und dem Image-Tag inkl. der Variable cggm_image gefüllt
3. Zeile: Das Ganze kann nun als ein einzige Variable in GoogleMaps integriert werden und man hat eine schöne Beschreibung des Ortes mit Bild wenn man auf die Ortsmarkierung klickt.

Offline