Zum Inhalt springen

In HTML-Code auf Konstante zugreifen

Erstellt am 28. März 2005 · 22 Antworten · letzte Antwort am 9. November 2011 · Seite 1 von 2

Tags: Frage

Torsten.​E ·

Wie kann ich bei einem normalen HTML-Inhalt einer Seite eine Konstante einbinden, dass dort der Wert entsprechend eingetragen wird.

Beispiel:

<a href="/home/seite/KONSTANTE">Link</a>

Torsten.E

mstuebner ·

<a href="/home/seite/{$KONSTANTE}">Link</a>

Genauer könnte man es sagen, wenn man etwas genauer wüsste, wo, wann und wieso.

Torsten.​E ·

Mein Seiteninhalt ist HTML-Code.

Um aber denoch bestimmte Werte dynamisch einzufügen. möchte ich das über Konstanten realisieren. Also einfach über Template die Konstante definieren und im HTML-Code abrufen.

Aber das mit {#KONSTANTE} klappt nicht, wird als Text im HTML-Code eingefügt und nicht aufgelöst.

Torsten.E

mic_jan ·

Hallo,

wenn ich das Problem richtig verstanden habe, dann setzt du einfach ins Template einen Marker und weist ihm dann den String zu, den du da haben möchtest... Also bei mir funktioniert das problemlos.

Gruss

Michael

mic_jan ·

Okay, ein Beispiel:

marks.DEIN_MARKER = TEXT 
marks.DEIN_MARKER.value = HALLO WELT 
marks.DEIN_MARKER.insertData = 1

Das war es schon...

Lieben Gruss

Michael

P.S.: Beim Value kannst du auch auf Seitentitel, Sub-Titel und ähnliches zugreifen.

Torsten.​E ·

Und wenn jetzt im HTML-Quellcode steht

<a href="/home/{#DEIN_MARKER}">Link</a>

wird dieser nicht aufgelöst.

Torsten.E

PS: DEIN_MARKER = Names des entsprechenden Markes, das ist mir schon klar.

mic_jan ·

Und was sollen die geschweiften Klammern da :o

Es ist ein ganz normaler Marker:

###DEIN_MARKER###

Gruss

Michael

Torsten.​E ·

Vielleicht habt ihr es übersehen, der Marker steht nicht in einer Vorlage sondern einfach in einem Datensatz welcher als Inhalt HTML-Code hat.

www.schwedenhaus.ag/index.php dort auf Verbraucherinformation und das Bild "Pipi-Langstrumpf" anfahren (Maus), der Link (unten in der Statuszeile) sollte über einen Marker funktionieren, also hinter der Zahl 28

mic_jan ·

Ich verstehe jetzt irgendwie nicht mehr, was du willst.

Auch verstehe ich nicht, wo das Inhaltselement mit HTML ist... Vielleicht kann man dir helfen, wenn du sagst: wieso, weshalb, warum...

Lieben Gruss

Michael

AFAIK kann man in dem Inhaltselement HTML, nichts ändern... aber ich kann mich auch irren. Eine andere Lösung wäre es, wenn du es als "Sub-Template" über einen Marker einbindest... dann kannst du da auch wieder drauf zugreifen mit den Markern. Aber einfacher wird es, wenn du einfach sagst, was es bezwecken soll...

Torsten.​E ·

Wozu ?

Beispiel:
Ich habe eine Seite mit 3 Ländern-Inhalten. Jede Länderseite soll ein Kontaktformular haben.
Für das 1. Land entwerfe ich diese Seite
Jetzt will ich diese Seite natürlich nicht 3 mal erstellen. Über "erweiterte Seite" kann ich dann den Inhalt einer anderen Seite anzeigen lassen.

Also Land 2 und Land 3 zeigen den Inhalt des Kontakformulares aus Land 1 an.

So jetzt sollte die Empfänger E-Mail Adresse als Konstante im Template pro Länderseite hinterlegt sein,
da ja für jedes Land eine andere Empfängeradresse gilt.

Also dachte ich mir, E-Mail Adresse im Template hinterlegen als Konstante und diese wird dann verwendet, klappt aber bisher nicht.

Wer es ganz genau wissen will kann mich auch anrufen oder ich ruf zurück.

Torsten.E

mstuebner ·
Torsten.E schrieb

Aber das mit {#KONSTANTE} klappt nicht, wird als Text im HTML-Code eingefügt und nicht aufgelöst.

Dann wäre es gut, den zweiten Satz meines Postings nochmal zu lesen und zu befolgen?

mic_jan ·
Thorsten. E schrieb

Wozu ?

Weil Matthias und ich uns dann viel Geschreibsel hätten sparen können #evil#

Gruss

Michael

P.S.: Ich mach jetzt Feierabend.

mstuebner ·
Torsten.E schrieb

Wer es ganz genau wissen will kann mich auch anrufen oder ich ruf zurück.

Aber sonst alles klar? DU hast eine Frage die DU nicht ordentlich beschreiben kannst oder willst und jemand der DIR elfen will soll DICH anrufen? Wozu ist das Forum wohl da, wenn man jetzt kostenlosen Telefonsupport für Einzelne geben darf?

Formuliere Deine Frage ordentlich, unterlege ihn mit Code und beantworte Rückfragen entsprechend konkret, dann klappts auch mit der Antwort. :o

(Vielleicht muss ich mir jetzt vorwerfen lassen zu hart zu reagieren, aber das ist MEINE Sicht der Dinge.)

Torsten.​E ·

Da der Link dynamisch sein soll, will ich den Wert
von MARKSNAME im Template definieren.
Leider wird er aber in einer Seite/Datensatz mit HTML-Inhalt nicht
aufgelöst. Stellt sich die Frage, wie geht das, bzw. geht es überhaupt ?

Wird ###MARKSNAME### in einer Vorlage verwendet wird es sauber aufgelöst.

<a target="_self" href="/index.php?id=###MARKSNAME###">Dynamischer Inhalt</a>

Torsten.E

Jan68 ·

Hallo,

habe die gleiche Frage:

Ich verwende den Seiteninhalt HTML. Und in diesem steht HTML-Code, in dem ich eine Konstante (keine Marke) einsetzten möchte.

Es handelt sich also nciht um ein Template, sodnern um tt_content.

Ich meine, genauer kann man den Wunsch nicht beschreiben 😃

LG Jan

igorshmigor ·

Ui, da hast Du aber einen alten Thread ausgegraben.
Klingt, als ob Du nach dem TypoScript-Objekt CONSTANTS suchst.
Wenn Du dies in dein TypoScript-Setup schreibst:

constants.INFOMAIL=info@meinedomain.com

und dies in dein Inhaltselement:

Komplimente bitte an <a href="mailto:###INFOMAIL###">###INFOMAIL###</a>

Dann sollte das eigentlich korrekt ersetzt werden.

igorshmigor ·

constants ist übrigens ein Top-Level-Objekt (TLO), also nicht als Unterobjekt von page definieren, sondern ganz oben.
Siehe Doku:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/TopLevelObjects/Index.html

Funktioniert nur, wenn parseFunc.constants=1 gesetzt ist, aber das ist bei CSS Styled Content standard, daher sollte es keine Probleme geben.
Doku zu parseFunc:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Index.html