Seiten mit dynamisch an Tags übergebenen Werten lassen sich nicht statisch abspeichern Beitrag ist gelöst

Fragen zum Erstellen von Templates für webEdition.
Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Seiten mit dynamisch an Tags übergebenen Werten lassen sich nicht statisch abspeichern

Beitragvon Creutzburg » Fr 27. Jan 2017, 17:41

Wir müssen bei zwei größeren Webprojekten (WE 7.0.2 und WE 6.3.9) zumindest die Startseiten aus Performance-Gründen auf statische Generierung umstellen. Nun nutzen wir wie immer in allen möglichen Templates die dynamische Übergabe von Werten an WE-Tags. Leider versagt hier die statische Generierung.

Kleines Beispiel:

Code: Alles auswählen

<we:setVar to="global" nameto="myID" value="123" />
<we:img id="$myID" />
Dies funktioniert bei dynamischen Seiten, bei statisch generierten würde hier keine ID an das img-Tag übermittelt.

Nutzt man einen Umweg, bei dem man zunächst eine dynamische Seite (z.B. dynamisch.php mit der ID=1) anlegt, und dann eine weitere Seite, die man statisch veröffentlicht, und in deren Template nur drin steht <we:include type="document" id="1" gethttp="true" />, dann funktioniert das ganze – die dynamische Seite wird ausgeführt, in das statische Dokument inkludiert und dann statisch als html abgelegt. Nur mit dem Nachteil, dass das im Redaktionsprozess schwierig/kompliziert wird, und interne Links auf die dynamische Seite dann natürlich nicht auf der statischen Seite landen.

Wie funktioniert die statische Generierung intern? Wird nicht zum Zeitpunkt der Veröffentlichung diese Seite einmal aufgerufen/geparsed, und das Ergebnis wird als html ins Filesystem geschrieben? Wenn das so wäre, müssten doch auch die dynamisch übergebenen Werte funktionieren – tun sie aber nicht.

Ist das ein Bug oder ein Feature? Hat jemand eine Idee für eine Lösung?

Dank & Gruß,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?

mokraemer
Senior Member
Beiträge: 3040
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Seiten mit dynamisch an Tags übergebenen Werten lassen sich nicht statisch abspeichern  Beitrag ist gelöst

Beitragvon mokraemer » Fr 27. Jan 2017, 17:50

Hi Alex,
ich gehe davon aus, das es an Eurem Kode liegt. Der ist nicht ganz korrekt:

Code: Alles auswählen

<we:setVar to="global" nameto="myID" value="123" />
<we:img id="$myID" />
Hier wird myID global, $myID ist aber lokal. Das kann beim normalen Seitenaufruf noch klappen. Nur bei der stat. Generierung muß man auf die Unterschiede eben doch achten. Wenn eine Variable global angelegt wird, muß man sie auch global übergeben. Richtig wäre also

Code: Alles auswählen

<we:setVar to="global" nameto="myID" value="123" />
<we:img id="\$myID" />
Der Backslash sorgt nämlich genau dafür das die Variable nicht von php selbst sondern durch WE erfaßt wird. Und damit kann die Ersetzung dann global erfolgen.

Lokale Variablen hat man nur so:

Code: Alles auswählen

<?php $id=123;?>
<we:xx id="$id"/>
Globale so:

Code: Alles auswählen

<?php $GLOBALS['id']=123;?>
<we:setVar to="global" nameto="myID" value="123" />
<we:yy ... to="global" nameTo="tagID"/>
<we:xx a="\$id" b="\$myID" c="\$tagID"/>
Btw. habt ihr einen memcache auf dem Server am laufen? Wäre sonst auch eine Möglichkeit. Wollte das Cache-Customtag wahrscheinlich für die 7.2 offiziell machen.
webEdition-Kern-Entwickler

Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Re: Seiten mit dynamisch an Tags übergebenen Werten lassen sich nicht statisch abspeichern

Beitragvon Creutzburg » Mo 30. Jan 2017, 11:46

Moin Marc,

ich glaube, wir waren betriebsblind. :roll:

Natürlich, so funktioniert es. Wie es schon immer funktionierte.

Danke Dir,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Finn und 9 Gäste