Page 1 of 1
[Gelöst] Companydirectory -> Random / Zufall
Posted: Wed Jun 30, 2010 1:27 pm
by antiheld2000
Hi,
ich würde gerne per Zufall aus dem Companydirectory 3 Einträge in einem Summarytemplate anzeigen lassen. Hat hier jemand eine Idee, wie ich das erreichen kann?
Dank und Gruß
anti
Re: Companydirectory -> Random / Zufall
Posted: Fri Jul 02, 2010 10:42 am
by antiheld2000
So, da hab ich mir einen Workaround basteln können. Dieser ist nicht performant und nicht professionell, aber funktioniert.
Man erstelle einen UDT namens rand_items:
Code: Select all
global $gCms;
$items = $gCms->smarty->get_template_vars('items');
$gCms->smarty->assign('itemcount', count($items));
if ($items) {
shuffle($items);
$zaehler = 0;
foreach ($items as $value) {
if ($zaehler < $params['menge']) {
$itemarray = get_object_vars($value);
if ($itemarray[logo_location] != '') {
# Hier die Ausgabe anpassen
$ausgabe .= '<a href="'.$itemarray[detail_url].'" title="'.$itemarray[company_name].'"><img src="'.$itemarray[logo_path].'" /></a>';
$zaehler++;
$ausgabe .= '</div></div></div>';
}
}
}
}
echo $ausgabe;
$gCms->smarty->assign('linecount', $zaehler);
Dann erstellt ein Zusammenfassungstemplate namens Logos im CompanyDirectory Modul mit folgendem Inhalt:
{rand_items menge=11}s
Aufruf in der Vorlage / im Layout:
{CompanyDirectory summarytemplate="Logos"}
Das war's. Lässt sich auch auf andere Module adaptieren, bei denen eine Randomfunktion fehlt.
Re: [Gelöst / Workaround] Companydirectory -> Random / Zufall
Posted: Thu Dec 30, 2010 9:48 pm
by antiheld2000
*push*
Ich benötige gerade für ein anderes Projekt wieder die Möglichkeit, per Random 9 Elemente aus der CompanyDirectory auszuwählen. Hier ist mein ehemaliger Workaround aber nicht wirklich zu gebrauchen. Hat jemand vielleicht mittlerweile eine bessere Idee?
Re: [Gelöst / Workaround] Companydirectory -> Random / Zufall
Posted: Thu Dec 30, 2010 10:24 pm
by nicmare
kannst du es nicht einfach wie hier machen?
http://forum.cmsmadesimple.org/index.ph ... 204.0.html
du brauchst doch nur das array shufflen und die ersten drei einträge anzeigen lassen
Re: [Gelöst / Workaround] Companydirectory -> Random / Zufal
Posted: Sat Jan 01, 2011 9:41 pm
by antiheld2000
Danke. Das war's. Echt simpel:
Code: Select all
{capture}{$items|@shuffle}{/capture}