Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
- Links zu: Aktiven | Unbeantworteten
- Übersicht
- »
- »
1
#1 27. September 2012 18:09
- mikey
- hat von CMSMS gehört
- Registriert: 27. September 2012
- Beiträge: 4
Re:
Kurze Frage, hoffentlich kurze Antwort.
In einem benutzerdefiniertem Tag {dropdown} erstelle ich smarty code für das advanced content modul,
der PHP Quellcode sieht am ende so aus:
[== PHP ==]
$dropDown = '{content block="module_select" label="' . $dropDownName . '" block_type="dropdown" items="' . $string . '" values="' . $string . '"}';Wenn ich da jetzt ein echo $dropDown reinhaue und {dropdown} in mein Template einfüge,
dann spuckt er mir an der Stelle den Smarty-Code ungeparsed aus.
Was muss ich tun damit Smarty den Code verarbeitet?
Google hat dazu nichts ausgespuckt.
Offline
#2 27. September 2012 18:29
- owr_web
- Server-Pate

- Registriert: 16. Dezember 2010
- Beiträge: 538
Re:
Der benutzerdefinierte Tag ist für php direkt und nicht für smarty.
Versuchs mal über den Global content block und erstell mit {assign} dort die gewünschte Variable aus Smarty
Offline
#3 27. September 2012 20:56
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
Ich befürchte das wird Mikey nicht weiterbringen.
Das Modul AC verarbeitet - im Gegensatz zum Core - das Template im Backend nicht.
Es sucht nur nach der Zeichenkette {content ... }.
Siehe auch hier: http://forum.cmsmadesimple.de/viewtopic.php?id=934
Wo soll denn das Dropdown später angezeigt werden?
Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline
#4 29. September 2012 09:40
- mikey
- hat von CMSMS gehört
- Registriert: 27. September 2012
- Beiträge: 4
Re:
Das Dropdown soll "ganz normal" unter Inhalt Bearbeiten im backend erscheinen.
Das ganze ist nötig geworden weil die Optionen nicht statisch hardgecodet werden sollen, sonder dynamisch durch ein kleines PHP-Script generiert werden sollen.
Offline
#5 29. September 2012 10:07
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
Eigentlich muss Dein Plugin nur die Values und die Items als Text ausgeben, nicht den ganzen Tag. D.h., wenn Du Dein Plugin mit einem Parameter "output" versiehst, der die Werte "items" oder "values" haben kann, kannst Du mit ein und demselben Plugin sowohl Die Namen der Einträge als auch deren Werte ausgeben lassen. Dieses Plugin rufst Du dann im Seiten-Template als Wert für die Parameter "items" und "values" für einen Inhaltsblock vom Typ Dropdown auf.
Bsp.:
{content block="foo" block_type="dropdown" items=":::deinPlugin output='items':::" values=":::deinPlugin output='values':::" smarty="backend"}Dann hast Du im Backend beim Bearbeiten von Seiten ein Dropdown mit den Werten Deines Plugins. Im Frontend wird Dir nur der ausgewähte Wert ausgegeben. Was Du damit machst, kannst Du dann selbst entscheiden. Einer Variablen zuweisen und dann prüfen oder direkt ausgeben oder einem Modul/Plugin als Wert übergeben etc.
Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline
#6 30. September 2012 16:17
- mikey
- hat von CMSMS gehört
- Registriert: 27. September 2012
- Beiträge: 4
Re:
Das war der richtige Hinweis, danke dafür! 
Habe meinen Code in eine Funktion gepackt und gemäß Namenskonventionen in den plugins-Ordner hochgeladen.
Mit folgendem Code im Template geht es jetzt:
[== Template ==]
{content block="module_select" label="Dropdown" block_type="dropdown" items=":::myPlugin:::" values=":::myPlugin:::" smarty="backend"}*block-Attribut mit Inhalt module_select sonst Fehler
Beitrag geändert von mikey (30. September 2012 16:19)
Offline
1
- Übersicht
- »
- »