hi,
ich möchte im admin bereich ein eingabefeld haben, welches es mir ermöglicht, javascript und / oder html und / oder php-code einzugeben. ich habe mir bereits ein zusätzliches feld im template angelegt
{content block="Extra Code" wysiwyg="false"}
nun möchte ich aber nicht, dass ich in dieses feld immer {literal}{/literal} eintragen muss. kann ich das irgendwie umgehen? wenn ich das schon ins template schreibe, dann wird ja der smarty tag fehl interpretiert...
gibt es da eine möglichkeit?
gruss
anti
{literal} eingabe feld
Re: {literal} eingabe feld
Also wenn ich das richtig verstehe, möchtest Du den Inhalt einiger Seiten um einige beliebige Funktionen erweitern, richtig?
Wenn Du dieses Eingabefeld für JavaScript bzw. PHP mit Hilfe der Parameter im Template erzeugst, wirst Du um die Literal-Tags nicht herumkommen.
Wenn es sich um eine vertretbare Menge an bestimmten Funktionen handelt, könntest Du auch einen benutzerdefinierten Tag für jede Funktion anlegen und diesen dann einfach im Inhaltsbereich mit {Plugin_name} notieren.
Anderenfalls könntest Du auch den Inhaltstyp Content so modifizieren, dass er ein zusätzliches Textfeld für diese Funktionen anzeigt und beim Speichern der Inhalte in der Datenbank diese Funktionen automatisch an den Inhalt "anhängt" und mit den Literal-Tags maskiert.
Ich hab sowas ähnliches schonmal gemacht. Der Inhalt wurde da komplett durch einen Modulaufruf ersetzt. Das Modul hat dann Teile des Inhalts in bestimmter Weise angezeigt. Der Inhalt selber wurde dann einfach als eine weitere "Eigenschaft" der Seite gespeichert.
Für den Betrachter macht das auf der Internetseite keinen Unterschied. (Die URL in der Adressleiste des Browsers sieht dann nur demenstprechend etwas anders aus, als die des Links zur Seite.)
Wenn Du Dich ein wenig mit PHP auskennst, ist das nicht ganz so kompliziert wie es klingt.
Wenn Du dieses Eingabefeld für JavaScript bzw. PHP mit Hilfe der Parameter im Template erzeugst, wirst Du um die Literal-Tags nicht herumkommen.
Wenn es sich um eine vertretbare Menge an bestimmten Funktionen handelt, könntest Du auch einen benutzerdefinierten Tag für jede Funktion anlegen und diesen dann einfach im Inhaltsbereich mit {Plugin_name} notieren.
Anderenfalls könntest Du auch den Inhaltstyp Content so modifizieren, dass er ein zusätzliches Textfeld für diese Funktionen anzeigt und beim Speichern der Inhalte in der Datenbank diese Funktionen automatisch an den Inhalt "anhängt" und mit den Literal-Tags maskiert.
Ich hab sowas ähnliches schonmal gemacht. Der Inhalt wurde da komplett durch einen Modulaufruf ersetzt. Das Modul hat dann Teile des Inhalts in bestimmter Weise angezeigt. Der Inhalt selber wurde dann einfach als eine weitere "Eigenschaft" der Seite gespeichert.
Für den Betrachter macht das auf der Internetseite keinen Unterschied. (Die URL in der Adressleiste des Browsers sieht dann nur demenstprechend etwas anders aus, als die des Links zur Seite.)
Wenn Du Dich ein wenig mit PHP auskennst, ist das nicht ganz so kompliziert wie es klingt.
- antiheld2000
- Forum Members
- Posts: 236
- Joined: Thu Jan 31, 2008 9:23 am
Re: {literal} eingabe feld
hm, ich danke dir rehct herzlich für deine mühen. ich denke ich komme dann doch erstmal mit der selbstliteralisierung zu recht. danke.
Re: {literal} eingabe feld
Du könntest auch den Inhalt des content-Blocks via assign-Parameter an eine Variable übergeben, diese dann per benutzerdefinierten Tag modifizieren (also die literal-Tags hinzufügen) und dann wieder über eine andere Smarty-Variable ausgeben lassen ...