ArticleCollections aus 2 verschiedenen Kategorien

Gesperrt
CharlyBrown
Beiträge: 74
Registriert: Sa 13. Feb 2010, 16:07
Kontaktdaten:

ArticleCollections aus 2 verschiedenen Kategorien

Beitrag von CharlyBrown » Di 27. Sep 2011, 15:22

Hallo NG,

ich gebe Artikelinformationen per Zufall aus. Hab das bislang so gelöst:

Code: Alles auswählen

$articleList = new ArticleCollection(array("idcat"=>10)); 

   srand ((double)microtime()*10000);
   $maxwert = count($articleList->articles)-1;
   $nr = rand(0,$maxwert);
   $artnr =  $articleList->articles[$nr];
   
   //Ausgabe
   $artRightTeaser = new article($artnr, 1, 1);
   ...
   ...
Ich muss jetzt eine zweite Kategorie (idcat 11) in diesen Zufallsgeneartor packen und hab keinen Schimmer, wie ich das anstellen soll. Also quasi eine zweite Objektreferenz erstellen und dann die beiden Objekte zusammenfügen. Danke für Anregungen.

Frank

xmurrix
Beiträge: 2827
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: ArticleCollections aus 2 verschiedenen Kategorien

Beitrag von xmurrix » Di 27. Sep 2011, 22:27

Hallo CharlyBrown,

die Lösung liegt eigentlich schon vor dir, hier ein Beispiel:

Code: Alles auswählen

$articleList = new ArticleCollection(array("idcat"=>10));
$articleList2 = new ArticleCollection(array("idcat"=>11));
$allArticles = array_merge($articleList->articles, $articleList2->articles);
shuffle($allArticles);
$artnr = $articleList->articles[0];
$artRightTeaser = new article($artnr, 1, 1);
...
Gruß
xmurrix
CONTENIDO downloads: CONTENIDO 4.10.1
CONTENIDO links: Documentation, API documentation
CONTENIDO @ Github: CONTENIDO 4.10

CharlyBrown
Beiträge: 74
Registriert: Sa 13. Feb 2010, 16:07
Kontaktdaten:

Re: ArticleCollections aus 2 verschiedenen Kategorien

Beitrag von CharlyBrown » Mi 28. Sep 2011, 11:10

Hallo xmurrix,

ja sowas mit 2 Collections und merge hatte ich auch schonmal probiert. Allerdings nicht $articleList->articles als Parameter, sondern direkt mit dem Objekt, was natürlich nicht funzte. Jetzt ist alles ganz logisch.

Ich danke Dir!

Gruß

Frank

Gesperrt