Moin alle,
zunächst vielen Dank an Leuchte für diese Erweiterung! Wirklich eine gute Idee und damit ist Bloggen/Blog schreiben in Contao deutlich einfacher geworden.
Zitat von
elmuerto
Funktioniert autonews mit der 2.10.xx Version?
Die oben besprochenen Bildlinks zu den Artikeln funktionieren nicht mehr.
Kann das auch an zarticleimage liegen?
Beste Grüße!
@elmuerto: zu den Bildlinks/zArticleImage kann ich leider noch nichts sagen. Aber:
ich hatte 2 Probleme mit [auto_news] in 2.10.4 ... hier sind auch meine Lösungen dafür in Form von Patches/diffs:
1. im Backend war bei der Bearbeitung des Artikels keine Auswahl der Nachrichtenarchive möglich. In Opera wurden die Archive gar nicht angezeigt, in FireFox rechts neben "Textelement nutzen", sehr schmal und nicht klickbar. Das habe ich so gelöst, dass ich die Checkbox-Liste der Archive ganz an den Anfang der Abteilung "Automatisch Nachrichten erstellen" gestellt habe. Das sieht dann so aus:
auto_news.jpg
Akzeptabel, aber wahrscheinlich gibt es auch noch eine bessere Lösung dafür. Hier ist der Patch für die Datei system/modules/auto_news/dca/tl_article.php:
PHP-Code:
--- tl_article.php-revBASE.svn000.tmp.php Fr 6. Jan 05:38:29 2012
+++ system/modules/auto_news/dca/tl_article.php Fr 6. Jan 00:40:48 2012
@@ -54,7 +54,7 @@
*/
$GLOBALS['TL_DCA']['tl_article']['palettes']['default'] = str_replace(
';{publish_legend}',
- ';{auto_news_legend},auto_news_teaser,auto_news_element,auto_news_archive,auto_news_redirect,auto_news_save,auto_news_id;{publish_legend}',
+ ';{auto_news_legend},auto_news_archive,auto_news_teaser,auto_news_element,auto_news_redirect,auto_news_save,auto_news_id;{publish_legend}',
$GLOBALS['TL_DCA']['tl_article']['palettes']['default']);
/**
@@ -118,11 +118,3 @@
'exclude' => true,
'default' => '1',
);
-
-$GLOBALS['TL_DCA']['tl_article']['fields']['auto_news_save'] = array
-(
- 'label' => $GLOBALS['TL_LANG']['tl_article']['auto_news_save'],
- 'inputType' => 'checkbox',
- 'exclude' => true,
- 'default' => '1',
-);
Entscheidend ist der erste Teil des Patches, dort wird das Backend-Feld "auto_news_archive" ganz an den Anfang verschoben. Der zweite Teil des Patches entfernt einfach nur ein Duplikat der Konfiguration von "auto_news_save", das Leuchte da reingerutscht ist (1.2.2 => 1.2.3). Kann man aber auch ignorieren, weil es keinen Schaden anrichtet, es ist halt einfach unnötig.
Damit hat die Erweiterung dann erstmal ganz gut funktioniert ... bis ich versucht habe, einen Artikel in mehrere Archive zu kategorisieren und die Kategorien dann anschließend mehrfach geändert habe. Das hat nicht immer zuverlässig funktioniert:
2: manchmal wurden keine neuen Archiv-Einträge erzeugt
das Test-Scenario ist echt schwierig zu beschreiben und die Analyse/das Debugging haben mich einige Stunden gekostet. Ich bin aber recht sicher, die Lösung gefunden zu haben. Meiner Meinung nach ein Bug, der auch in vorherigen Versionen existierte, eventuell abhängig von der verwendeten PHP Version. Hier erst einmal der Patch für system/modules/auto_news/AutoNews.php:
PHP-Code:
--- AutoNews.p-revBASE.svn002.tmp.php Fr 6. Jan 06:09:08 2012
+++ system/modules/auto_news/AutoNews.php Fr 6. Jan 06:08:04 2012
@@ -104,7 +104,9 @@
$this->Insert = (!empty($this->AutoNewsArchive)) ? array_diff($this->AutoNewsArchive, $AutoNewsOldArchive) : array();
$this->Delete = (!empty($AutoNewsOldArchive)) ? array_diff($AutoNewsOldArchive, ((empty($this->AutoNewsArchive)) ? array() : $this->AutoNewsArchive)) : array();
$this->Update = (!empty($this->Insert)) ? array_diff($this->AutoNewsArchive, $this->Insert) : $this->AutoNewsArchive;
- @array_multisort($this->Insert, $this->Delete, $this->Update);
+ sort($this->Insert);
+ sort($this->Update);
+ sort($this->Delete);
}
unset($AutoNewsOldArchive);
Das entfernte "array_multisort()" war mir von Anfang an suspekt, es dient ja eigentlich dem Zweck, Arrays zu sortieren, die die gleiche Anzahl von Einträgen haben (Spalten von DB Resultaten z.B). An dieser Stelle haben aber $this->Insert/Update/Delete typisch eine unterschiedliche Anzahl von Einträgen. Ich habe lange gegrübelt, was Leuchte hier eigentlich erreichen wollte. Inzwischen bin ich sicher, dass die numerischen Indizes der 3 Arrays bereinigt werden sollten (0...N). Das ist so auch für "array_multisort()" dokumentiert ... aber in meiner PHP Version hat das eben nicht immer funktioniert. Das zusammen mit einer for (statt einer foreach) Schelife beim Insert hat dann den Fehler verursacht.
Ich habe mich im Patch auf die sichere Seite bewegt: 3 Statements, die jedenfalls dafür sorgen, dass die Keys der 3 Arrays neu erzeugt werden.
Damit funktioniert [auto_news] für mich in 2.10.4. Noch offener Punkt: es gibt noch ein Template, dass nur als *.tpl vorliegt, da müssten auch *.html5/*.xhtml Templates gemacht werden.
Schön fände ich, wenn Leuchte diese Patches in seine Erweiterung übernehmen und eine neue Version machen würde (das kann ich ja nicht tun).
Bei Bedarf kann ich aber auch Menschen, die mit Patches/diffs nichts anzufangen wissen, die modifizierte Version als ZIP zur Verfügung stellen.
Libe Grüße, Georg
Lesezeichen