[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Modul-Code wird mehrfach ausgeführt - 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/
Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Modul-Code wird mehrfach ausgeführt

26. Sep 2012, 15:15

Liebe Community,

Ich verwende derzeit Redaxo in der Version 4.2.1.

Jedes Mal, wenn man

Code: Alles auswählen

$article->getArticle()
aufruft, wird der gesamte Modul-Code neu ausgeführt, was insbesondere bei Datenbank-Aktionen oder E-Mails zu Problemen führt.

Gibt es dafür eine Lösung, die ich bisher auf meiner Suche in der Doku bzw. im Code übersehen habe?
Ist dieses Problem in einer späteren Versionen schon behoben?

Vielen Dank, E.

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

26. Sep 2012, 16:22

Hallo,

las mich raten $article->getArticle() steht mehr als einmal im Template :O)

Das hilft: http://www.redaxo.org/de/forum/bugs-f31 ... 17627.html

Cheffchen

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

26. Sep 2012, 18:43

Hi, Cheffchen.

Theoretisch stimmt das schon (den Thread hatte ich eh auch gesehen zuvor) - die dort gebotene Lösung ist aber nur dann umsetzbar, wenn das getArticle() wirklich halbwegs nebeneinaner (zB innerhalb eines einzigen Templates) verwendet wird.

Bei mir habe ich aber den Fall, dass ich den Artikel-Content innerhalb eines AddOns benötige; trotzdem kommt der Aufruf getArticle() später im Template natürlich noch einmal vor.
Wie kann ich also an den Artikel-Content gelangen, ohne dass der gesamte PHP-Code später beim Aufruf innerhalb des Templates oder in einem anderen AddOn noch einmal ausgeführt wird?

Die sauberste Lösung wäre meiner Meinung nach, dass die Methode getArticle() intern das Ergebnis nur ein einziges Mal berechnen und es bei allen weiteren Aufrufen einfach direkt zurückgibt. Aber möglicherweise gibt es soetwas ja schon?

LG, Estigy.

P.S.: Ehrlich gesagt wundert es mich gerade, dass dieses Problem noch nicht früher bei jemandem anderen aufgetregen ist. Eigentlich wäre ich mir sicher, dass es dazu schon eine Lösung geben müsste; vermutlich habe ich bisher einfach nur an den falschen Stellen gesucht...

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

26. Sep 2012, 18:53

Hej,

speicher getArticle() in eine Variable.

vg Thomas

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 10:11

Hi, Thomas.

Bitte entschuldige, aber nach meinem letzten Post, der genau beschreibt, warum dein Vorschlag nicht so einfach geht, hätte ich mir schon eine differenzierte Antwort erwartet... (Oder du hast sie einfach nicht gesehen, unsere beiden Posts liegen ja nicht so weit auseinander.)

Welche Variable würdest du denn vorschlagen, welche sowohl in einem AddOn als auch später im Template verfügbar ist? Und woher wissen die Programmierer von anderen AddOns, dass es diese Variable gibt? Ich könnte natürlich $REX noch weiter zumüllen ;-)

Trotzdem würde das ein ziemliches Chaos bringen: Ich schreibe ein AddOn, und speichere den Inhalt von getArticle() z.B. in $REX[article_content_cached], ein anderes AddOn weiß davon natürlich nichts, führt getArticle() erneut aus und speichert den Inhalt in $REX['cache:getArticle()']. Woher soll der eine vom anderen wissen?

Wie schon geschrieben: Die Tatsache, dass der Modul-Code mehrfach evaluiert wird, halte ich wirklich für einen grundsätzlichen Bug im System, nicht für einen Anwenderfehler mit einfachem Workaround.

LG, Günther.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 11:05

Hej Günter,

ich habe es so verstanden das du vom Frontend redest und nicht vom Backend.

Du willst den Artikelinhalt also innerhalb im Backend eines bestimmten AddOns haben?

Code: Alles auswählen

$a = rex_article();
$a->setArticleId(DIE_ARTIKEL_ID);
echo $a->getArticle();
Wenn es das nicht ist, erkläre bitte kurz genauer was du wie und wo brauchst.

vg Thomas

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 11:30

Hi Günther,
Estigy hat geschrieben:Wie schon geschrieben: Die Tatsache, dass der Modul-Code mehrfach evaluiert wird, halte ich wirklich für einen grundsätzlichen Bug im System, nicht für einen Anwenderfehler mit einfachem Workaround.
Wie willst du denn an eine Ausgabe kommen, wenn du keinen Code ausführst?
Und wozu brauchst du den Artikelinhalt überhaupt? (Du meinst damit doch das, was im Browser ankommt, oder?)

Wenn du wirklich nur den Artikelinhalt brauchst, dann musst du diesen halt Cachen. Dafür könntest du auch einfach mein Addon RexSearch nehmen, das sämtliche Artikel(inhalte) in der Datenbank speichert.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 13:39

Hi.

@Thomas:

Ich spreche eh vom Frontend.
Zur Erklärung: Ich habe ein SEO-AddOn geschrieben, welches zB die Meta-Keywords direkt aus dem Artikel-Inhalt gewichtet berechnet. Dazu muss ich den Artikel-Content bekommen, bevor das Template gerendert wird, da ja die daraus berechneten Keywords dann in die Meta-Tags sollen. (Ja, ich weiß, es gibt Meta-Keywords auch direkt beim Artikel, aber ich habe Kunden, die ihre >500 Artikel nicht einzeln mit Metadaten verschlagworten wollen... ;-) )

Auftretende Probleme:
  • Scope: Ich bin also Code-technisch beim Aufruf von getArticle() mitten in der Klasse des AddOns. Dort kann ich nicht einfach eine Variable mit dem Artikel-Content belegen, die ich dann im Template einfach nur noch ausgeben muss. Ich könnte zwar eine Globale Variable nutzen, aber das ist jetzt nicht unbedingt "sauber".
  • Wiederverwendbarkeit: Der User, der mein AddOn verwendet, soll natürlich nicht alle seine Templates umschreiben müssen. Der weiß ja nicht, wie mein AddOn intern arbeitet (sprich: dass es schon einmal den gesamten Artikel berechnet hat) - und soll es auch nicht wissen müssen. Der soll einfach nur ein "getMetaKeywords()" aufrufen, und gut.
@Xong:
Du missverstehst mich (oder ich habe mich nicht klar genug ausgedrückt...).
Natürlich möchte ich, dass der Code ausgeführt wird. Aber halt nicht bei jedem Aufruf von getArticle(), sondern nur ein einziges Mal, beim allerersten Aufruf. Die Funktion sollte intern den produzierten HTML-Code cachen und bei allen weiteren Aufrufen einfach nur zurückgeben.

Liebe Grüße, E.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 13:51

Hej,

verwende EXTENSION POINTS.

Im Template wird der Inhalt gespeichert und dann an die Extension übergeben. Du verwertest den Inhalt aus und reagierst entsprechend.

vg Thomas

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 14:03

Hi.

Hm, an Extension Points hab ich auch schon gedacht, aber da stimmt vermutlich die zeitliche Reihenfolge nicht:

Code: Alles auswählen

<html>
   <head>
   <?php echo MeineKlasse::getMetaTags(); ?>
   </head>
   <body>

   REX_ARTICLE[]

   </body>
<html>
Wenn ich mich per EP an die Erzeugung des Artikel-Contents hänge, dann ist diese bei getMetaTags() noch garnicht erfolgt. Erst weiter unten, wo REX_ARTICLE[] den Artikel erzeugt, würden die MetaTags berechnet - aber dann braucht sie keiner mehr...

LG, Günther.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 14:08

Mache es doch so:

Code: Alles auswählen

<html>
   <head>
   <?php 
   $content = $this->getArticle();
   $meta = new MeineKlasse();
   $meta->setContent($content);
   echo $meta->getMetaTags();

// oder
   echo MeineKlasse::getMetaTags($content);
   ?>
   </head>
   <body>

   <?php echo $content; ?>

   </body>
<html>
vg Thomas

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 14:20

Hi, Thomas.

Danke für deine Antwort.

Aber auch hier gilt, wie schon mehrmals angemerkt: Das war natürlich ein sehr einfaches Beispiel.
Wenn der HTML-Header zB in ein anderes Template ausgelagert ist und per REX_TEMPLATE[4] eingebunden wird, wie sähe dein Vorschlag dann aus?

LG, Günther.
Zuletzt geändert von Estigy am 27. Sep 2012, 14:30, insgesamt 1-mal geändert.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 14:28

Hej,

der sehe dann genauso aus.
Die Variabel ist in anderen Templates genauso vorhanden.

Für die Übersichtlichkeit der Templates ist dann der User selbst verantwortlich.

vg Thomas

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 14:40

Ah, das war mir nicht klar, dass alle Templates den selben Scope haben. Dann gibts ja immerhin einen Workaround für den Moment.

Etwas verstört bin ich dennoch, dass hier keiner ein Problem damit hat, dass der Modul-Code überhaupt mehrfach ausgeführt werden kann. Stattdessen wird nur über mögliche Workarounds gesprochen.
Das ganze Problem wäre mit einem (Pseudocode)

Code: Alles auswählen

if ($this->isGenerated) {
   return $this->generatedCode;
} else {
   // [...] generiere alles wie bisher
}
erledigt - ein Stückchen Code, das meiner Meinung nach schon vom Tag 1 an dort hätte sein müssen. In meinen Augen ein klarer Bug. Wenn ich 7x getArticle() ausführe, möchte ich als Anwender 7x den Artikel-Code zurückbekommen - und natürlich nicht 7 Mails senden und 7 Datenbank-Einträge erstellen; das sollte doch wohl jedem klar sein.

Eigentlich hätte ich ein "Stimmt, wir werden das beheben" erwartet.

Trotzdem danke für die Diskussion - ich habe wieder etwas gelernt.
Liebe Grüße, E.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 15:09

Hi Estigy!
Estigy hat geschrieben:Etwas verstört bin ich dennoch, dass hier keiner ein Problem damit hat, dass der Modul-Code überhaupt mehrfach ausgeführt werden kann. Stattdessen wird nur über mögliche Workarounds gesprochen.
Ich muss gestehen, dass ich noch nie dieses Problem hatte. Mein Template enthält meistens ein einfaches REX_ARTICLE[] für die Ausgabe, maximal vielleicht noch so viele, wie ich CTypes habe.
Estigy hat geschrieben:In meinen Augen ein klarer Bug. Wenn ich 7x getArticle() ausführe, möchte ich als Anwender 7x den Artikel-Code zurückbekommen - und natürlich nicht 7 Mails senden und 7 Datenbank-Einträge erstellen; das sollte doch wohl jedem klar sein.

Eigentlich hätte ich ein "Stimmt, wir werden das beheben" erwartet.
Der Weg, den du gehst, ist halt auch sehr ungewöhnlich. Normalerweise wird die Artikelausgabe exakt einmal pro Seitenaufruf gebraucht.
Estigy hat geschrieben: Ich spreche eh vom Frontend.
Zur Erklärung: Ich habe ein SEO-AddOn geschrieben, welches zB die Meta-Keywords direkt aus dem Artikel-Inhalt gewichtet berechnet. Dazu muss ich den Artikel-Content bekommen, bevor das Template gerendert wird, da ja die daraus berechneten Keywords dann in die Meta-Tags sollen. (Ja, ich weiß, es gibt Meta-Keywords auch direkt beim Artikel, aber ich habe Kunden, die ihre >500 Artikel nicht einzeln mit Metadaten verschlagworten wollen... ;-)
Endlich rückst du mal damit raus, was dein Problem ist. Wenn du anhand von Artikelinhalten solche Sachen, wie deine automatische Metakeywordgeneration machen möchtest, dann geht man da am besten über die Extensionpoints, die beim Anlegen und Editieren von Slices aufgerufen werden.
Allerdings müsstest du auch da wieder den gesamten Artikelinhalt abgreifen, was aber im Backend nicht das Problem ist (sein dürfte).
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

27. Sep 2012, 15:22

Endlich rückst du mal damit raus, was dein Problem ist.
Naja... Kommt drauf an, wie man es sieht.
Mein Problem lautet "Jedes Mal, wenn getArticle() aufgerufen wird, wird der komplette Code ausgeführt." Das ist etwas, das meiner Meinung nach auf keinen Fall passieren dürfte - und zwar ganz egal, warum man das tut, und ob das sinnvoll ist oder nicht.
Daher freue ich mich zwar über die ganzen genannten Workarounds, aber dieses eine zentrale Problem sehe ich nun einmal für sich genommen als Bug. Oder zumindest als großes Problem. Es müsste also zumindest irgendwo dokumentiert sein mit einem riesengroßen "WARNUNG!" davor.

Dein Vorschlag mit dem EP beim Anlegen/Editieren von Slices funktioniert ja auch nur dann, wenn alle Module statisch immer den selben Content liefern. Sobald aber ein Modul zB je nach Suchanfrage im Frontend eine ganz andere Ergebnisliste anzeigt, kann ich nicht beim Speichern eines Slices im Backend schon die spätere dynamische Ausgabe des Modules auswerten. Bei dynamischen Modulen (Suchergebnisse, Artikel-Listen, Blätterfunktionen,...) gibts daher ein Problem.

Ich sehe das Problem also ganz losgelöst von irgendwelchen konkreten Anwendungsfällen - sei es SEO oder irgendein anderer Grund, warum man den Artikel-Content mehrmals an verschiedenen Stellen brauchen sollte.
Und das Problem mit der Mehrfachberechnung besteht nun einmal. Außer natürlich, jemand kann mir schlüssig erklären, warum es tatsächlich manchmal nötig sein sollte, den Code für jeden Aufruf einzeln abzuarbeiten. ;-)
Normalerweise wird die Artikelausgabe exakt einmal pro Seitenaufruf gebraucht.
Alleine die Tatsache, dass es hier im Forum einige Threads zu mehrfach versendeten E-Mails oder dergleichen gibt, sollte deine Aussage doch widerlegen, oder? ;-)

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Modul-Code wird mehrfach ausgeführt

28. Sep 2012, 16:14

Niedlich, der ganze Aufstand für eine vollkommen sinnlose Funktion. Google ignoriert die Keywords komplett.

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

8. Okt 2012, 12:36

Hm... Das Melden eines Bugs ist also "ein Aufstand". Sehr interessant.
Und das erklärt wieder einmal, warum ich anfangs kein konkretes Beispiel nennen wollte. Anstatt über den Bug selbst zu diskutieren, werde ich nun wegen des Anwendungsfalles heruntergemacht.

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Modul-Code wird mehrfach ausgeführt

8. Okt 2012, 18:30

Estigy hat geschrieben:Hm... Das Melden eines Bugs ist also "ein Aufstand".
Du hast meinen Beitrag missverstanden. Mit "Aufstand" meine ich dein Addon, bzw. die Energie die du da rein steckst. Ich wollte dich auch nicht heruntermachen, ich finde den Kontext deines Problems nur etwas amüsant. Nix für ungut.

netmanix

Re: Modul-Code wird mehrfach ausgeführt

10. Okt 2012, 09:22

Hallo,
ich habe die Diskussion ein wenig verfolgt und möchte versuchen der Sache etwas beizutragen.
Estigy hat geschrieben:Hm... Anstatt über den Bug selbst zu diskutieren, werde ich nun wegen des Anwendungsfalles heruntergemacht.
Ich sehe hier kein Bug nur einen Anwender-, Programmierer-Fehler. :wink:
Im Frontend sollte (die Betonung liegt auf sollte) die Ausgabe nur einmal generiert (ausgelesen) werden. Content auslesen und dann bearbeiten. :!: Darauf sollte man (wie Du auch bemerkt hast) deutlicher in der Doku hinweisen.

Es gibt aber sicher auch (zugegeben eher exotische) Szenarios in denen die Mehrfachausführung des Contents Sinn ergibt (z.B. für die Abarbeitung von Cronjobs, und sogar dem Formularversand (Ausführung und Check)). Die Programmierer die dies benötigen, würden es als Bug bezeichnen, wenn dies nicht möglich wäre.

Redaxo macht genau das was ihm mitgeteilt wird. Wenn Du den Content mehrfach ausführen willst, dann wird dies auch erledigt. Willst Du es nicht, tue es nicht.
Daher kein Bug sondern ein Feature.
Und wenn der Kunde damit ein Problem hat, dann biete Ihm eine entsprechende Template-Optimierung an. :wink: €€€€

Für das von Dir genannte Problem kannst Du auch auf den vorhandenen Redaxo-Artikel-Cache (oder den RexSearch-Index) zurückgreifen, alternativ eben über eine vorab mit dem Content gefüllte Variable.
Wenn Dein Addon jedoch ohne getArticle() (was ich bezweifle) nicht auskommen kann, musst Du den Content für die Ausgabe ebend nach der Bearbeitung auf eine andere Weise zur Verfügung stellen ( print $addoncontent; )

Code: Alles auswählen

Wiederverwendbarkeit: Der User, der mein AddOn verwendet, soll natürlich nicht alle seine Templates umschreiben müssen.
Da zur Verwendung der aus deinem Content generierten Daten eh das Template verändert werden muss, ist es nur eine kleine weitere Veränderung. :wink:

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

10. Okt 2012, 11:38

Estigy hat geschrieben:Außer natürlich, jemand kann mir schlüssig erklären, warum es tatsächlich manchmal nötig sein sollte, den Code für jeden Aufruf einzeln abzuarbeiten.
Statische Seite vs. dynamische?
vg, Jan

Estigy
Beiträge: 12
Registriert: 26. Sep 2012, 14:54

Re: Modul-Code wird mehrfach ausgeführt

11. Okt 2012, 12:52

@netmanix
Hi, danke für deine ausführliche Antwort.
Redaxo macht genau das was ihm mitgeteilt wird.
Genau diesen Punkt sehe ich leider ganz grundsätzlich anders. Die Methode heißt "getArticle()" und nicht "generateArticleContent()". Wenn ich ersteres aufrufe, möchte ich den Artikel-Inhalt haben, nicht generieren lassen. Für mich sind die Erzeugung des Contents (samt Abarbeitung der darin enthaltenen Module) und die Rückgabe des Ergebnisses zwei komplett getrennte Aufgabengebiete. - Ersteres darf natürlich nur ein einziges Mal passieren, zweiteres kann beliebig oft geschehen. Eine saubere API würde hier trennen (und dem User keine Vorschriften machen, wie oft ein Artikel-Content später abgerufen werden darf).
Wenn Du den Content mehrfach ausführen willst, dann wird dies auch erledigt.
Das ist ja gerade der Unterschied zwischen dem, was ich will, und dem, was Redaxo tut: Ich will ihn ja gerade nicht "mehrfach ausführen", sondern nur "mehrfach erhalten". Dafür bietet Redaxo aber leider keine Funktionalität. Ich muss mich selbst drum kümmern mitsamt dem dazu nötigen Arbeitsaufwand für die Dokumentation und den Support. Eine Lösung innerhalb von Redaxo würde hier Abhilfe schaffen: Da offensichtlich eh kaum jemand getArticle() mehrfach aufruft, um den Content tatsächlich mehrfach generieren zu lassen, könnte man getArticle() weiterhin benutzen, ohne Rückwärtsinkompatibilitäten befürchten zu müssen. Bei der internen Verarbeitung könnte man zwischen Gernerierung (nur beim ersten Aufruf) und Rückgabe sauber trennen.
Und wenn der Kunde damit ein Problem hat, dann biete Ihm eine entsprechende Template-Optimierung an. :wink: €€€€
Das ist natürlich immer ein Argument ;-)
Aber auch nur, wenn es ein Kunde ist, dem ich tatsächlich Geld dafür abnehmen kann. Im OpenSource bereich ist das kein Argument sondern resultiert nur in zusätzlichen Zeitaufwand für Supportanfragen im Sinne von "Sobald ich dein AddOn installiere, werden alle Mails doppelt verschickt!!!11"


@Ingo: Danke für die Richtigstellung, ich hatte das tatsächlich in den falschen Hals bekommen, sorry.

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

11. Okt 2012, 13:06

Estigy hat geschrieben:..möchte ich den Artikel-Inhalt haben, nicht generieren lassen.
Nochmal: wie willst du das machen wenn der Inhalt dynamisch ist? Ein dynamischer Artikel kann in zich Varianten vorliegen je nach Parameter. Du siehst das Thema einfach nur aus deiner speziellen Sicht..
vg, Jan

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Modul-Code wird mehrfach ausgeführt

11. Okt 2012, 13:20

Hej,

kurzes Bspl was jeandeluxe meint.

domain.de/artikel.html
-> normaler Content

domain.de/artikel.html?foo=bar
-> irgendein Modul reagiert anders -> nicht mehr der gleiche Content

vg Thomas

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Modul-Code wird mehrfach ausgeführt

11. Okt 2012, 14:09

Hi,

Estigy möchte aber ja nicht den Inhalt dauerhaft cachen, sondern nur während eines Requests. Darüber habe ich für R5 auch schon mal kurz nachgedacht, bin aber noch zu keinem Ergebnis kommen.

Kam es denn bei jemand von euch mal vor, dass er wirklich ein Mehrfach-Ausführen des Codes brauchte? Denn dass Leute damit Probleme haben, ist ja öfters hier Thema im Forum.

Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Zurück zu „Sonstiges“