[con 4.9.12] cArticleCollector getContent

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

[con 4.9.12] cArticleCollector getContent

Beitrag von mattmarr » Di 13. Jun 2017, 13:24

Hallo!

Habe da etwas sehr komisches gefunden.

Für ich folgenden Code ausführe, bekomme ich ein leere $article->content .

Code: Alles auswählen

$collector = new cArticleCollector(array(
	'categories'  => $this->subkats
)); 

foreach ($collector as $varticle) {
	var_dump($article->content);
}
Setze ich vor der Ausgabe ein getContent, wird mir auch was ausgegeben.

Code: Alles auswählen

$collector = new cArticleCollector(array(
	'categories'  => $this->subkats
)); 

foreach ($collector as $varticle) {
	$h1 = $article->getContent('CMS_HEAD', 1);
	var_dump($article->content);
}
Mach ich da irgendwas falsch oder hat Contenido ein Problem?
Dieses Problem hat mir wieder dutzende neue graue Haare beschert.


Gruß
Matthias

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: [con 4.9.12] cArticleCollector getContent

Beitrag von Faar » Di 13. Jun 2017, 14:15

mattmarr hat geschrieben:
Di 13. Jun 2017, 13:24
Mach ich da irgendwas falsch
Ich vermute mal ja.

Code: Alles auswählen

$collector = new cArticleCollector(array(
	'categories'  => $this->subkats
)); 

foreach ($collector as $varticle) {
	var_dump($article->content);
}
$collector ist seit der ersten Zeile ein Objekt der Klasse cArtikelCollector und kein Array.
Schon darum dürfte das foreach() so nicht funktionieren.

Die Optionen, die an die Klasse weiter gegeben werden, sind sehr seltsam: 'categories' => $this->subkats
Die sollten eher so lauten:

Code: Alles auswählen

$options = array ('idcat' => $CatID, "start" => true, "startonly" => false);
$collector = new cArticleCollector($options);
Und danach wird es so ausgelesen:

Code: Alles auswählen

   	while ($article = $collector->nextArticle()){
   		$article_id = $article->getField('idart');
   		$text = $article->getContent('CMS_HTML', 1);
  		$imgID = $article->getContent('CMS_IMGEDITOR', 1);
                usw.
      }
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten