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.
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.
€€€€
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.