[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Variablen werden nicht ersetzt - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

REDAXO Variablen werden nicht ersetzt

3. Jul 2014, 20:42

Hallo

Hab ein kleines Problem (welches ich bisher nie hatte) und kann mir gerade keinen Reim darauf bilden, woher das stammt. Voraussichtlich ist aber ein Addon (mit)schuld.

Problem ist, das ich in einem Template REDAXO Variablen wie REX_CLANG_ID oder REX_ARTICLE_ID eingesetzt habe, diese aber nicht "umgewandelt" bzw. ersetzt werden. Bisher hat das eigentlich immer funktioniert. Ich lebe auch in der Annahme, dass das beim aktuellen Projekt auch funktionier hat(te), mit hundertprozentiger Sicherheit kann ich's aber nicht bestätigen.

Hat jemand einen Schimmer woran das liegen könnte? Steh gerade völlig auf dem Schlauch.

Ich habe einige Addons im Einsatz, darunter zB. XFORM, outputfilter usw.

Danke!
y

EDIT: wenn ich die Variablen direkt (im REDAXO Backend) in das Template einsetze, funzts. Wenn ich allerdings dort eine PHP Datei inkludiere und die Variablen dort einsetze, geht's nicht. Ich dachte allerdings, dass das bisher immer gefunzt hat. No?
MASSIF Webdesign Studio

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: REDAXO Variablen werden nicht ersetzt

3. Jul 2014, 22:05

Tja, die REDAXO Variablen sind eigentlich gar keine Variablen im klassischen Sinn, sondern Ersetzungen. Ersetzt wird alles in Tempales und Modulen. Alles ausserhalb "kennt" REDAXO quasi nicht und deshalb passiert da auch nix.

Ich finde generell das Konzept dieser sog. Variablen eigentlich nicht optimal. Das ganze ist kein gültiges PHP und führt auch immer wieder zu Missverständnisen, anscheinend auch nicht nur bei REDAXO Neulingen. Ich hab noch weitere "Nachteile" die ich mal in ein Issue in R5 posten werde :D

Du widersprichst dich übrigens in deinem Beitrag:
Problem ist, das ich in einem Template REDAXO Variablen wie REX_CLANG_ID oder REX_ARTICLE_ID eingesetzt habe, diese aber nicht "umgewandelt" bzw. ersetzt werden.
und
EDIT: wenn ich die Variablen direkt (im REDAXO Backend) in das Template einsetze, funzts
Oder hab ich dich falsch verstanden? ;)

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

Re: REDAXO Variablen werden nicht ersetzt

3. Jul 2014, 22:53

RexDude hat geschrieben:Du widersprichst dich übrigens in deinem Beitrag:
Hehe, sorry, Missverständnis. Mit Template meinte und meine ich üblicherweise effektiv den Template-Code und nicht den REDAXO Template-Bereich. Was logischerweise zu Verwirrung führt. Im REDAXO Template inkludiere ich immer ein PHP file welches wiederrum weitere PHP parts inkludiert. Arbeite persönlich nicht gern direkt im Backend ...

Anyway, zurück zum eigentlich Problem, wenn's denn eines ist. Dass diese Variablen im Grunde gar keine Variablen sind, ist mir schon bewusst. Ich meinte aber, dass die Platzhalter (wenn man so will) in externen Dateien auch ersetzt werden ... kann mich natürlich sehr gut irren. Aber ich könnte schwören sowas habe schon mal funktioniert. Andere Platzhalter wie die des Outputfilter Addons, werden ja auch schön brav ersetzt, egal ob extern oder nicht.

Vor einiger Zeit habe ich eine Kunden-Website online gestellt, wo ich teilweise innerhalb des (auch hier externen) Templates diese REX Variablen eingesetzt habe. Heute hab ich mir dieses Template angeschaut und einen Code-Abschnitt kopiert und bei einem neuen Projekt ins Template eingebaut. Dabei musste ich feststellen, dass weder beim alten noch beim neuen Projekt die REX Vars funktionierten. Würde ergo heissen, dass das Ganze nie funktioniert hat. Der Haken an dieser Theorie: der betroffene Teil der älteren Website hat bei der Aufschaltung garantiert funktioniert. Wie ich das weiss? Bei dem angesprochenen Abschnitt ging es um ein Suchformular, um die Website zu durchsuchen, und wie hätte ich die Suchresultatseite stylen können, wenn das Formular, wo die REX Vars drin waren, so gar nicht funktioniert hatte. Klar, auch nach der Aufschaltung wurde an dem Projekt gefeilt, allerdings hat sich an der Weise wie die Templates eingebunden werden nix geändert. Weshalb ich vermute dass das ganze schon funktioniert, aber irgendein Addon oder sonst was nun dazwischen funzt.

Oder aber ich hab sie nicht mehr alle ... KA.

TL;DR:
Ich dachte REX Vars werden auch in externen PHP Dateien ersetzt.
Gelöst habe ich das Ganze nun mittels der $REX globalen, enthält ja auch alles.
MASSIF Webdesign Studio

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: REDAXO Variablen werden nicht ersetzt

3. Jul 2014, 23:12

Hey, ein richtiger Roman :D
Ich kann mich natürlich auch Irren, aber ich dachte bis jetzt immer, dass der OUTPUT_FILTER nur über die Cachfiles rennt und keine Ahnung von den Includes hat. Weil das würde ja sonst bedeuten, dass da eine intelligente Steuerung dahinter ist die Include Dateien erkennt und dann ebenfalls die Ersetzungen dort vornimmt.

MAl abgesehen davon: Warum machst du externe PHP Dateien dazu? Du verbaust dir damit evtl. eine Updatefähigkeit später mal, die xternen Dateien landen nicht im Export und wenn das stimmt was ich bis jetzt meinte, kannst du keine Ersetzungen nutzen ;)

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

Re: REDAXO Variablen werden nicht ersetzt

4. Jul 2014, 00:09

Das outputfilter Addon ersetzt mir Platzhalter innerhalb der externen PHP Files. Funktioniert auf mehreren mehrsprachigen Websites tadelos. Ganz sicher.

:)

Entschuldige bitte die Schreiberei von vorhin.
MASSIF Webdesign Studio

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: REDAXO Variablen werden nicht ersetzt

4. Jul 2014, 08:27

Tatsächlich ;) Wie der XOutputfilter das wohl macht? :lol:
Aber: REX_ARTICLE_ID wird von REDAXO selber nicht in den Include Files ersetzt, wohl aber direkt im Template. Grad getestet.
Roman war doch ok? :mrgreen:

Zurück zu „Allgemeines [R4]“