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
[Gelöst] Companydirectory -> Random / Zufall
- antiheld2000
- Forum Members
- Posts: 236
- Joined: Thu Jan 31, 2008 9:23 am
[Gelöst] Companydirectory -> Random / Zufall
Last edited by antiheld2000 on Sat Jan 01, 2011 9:41 pm, edited 2 times in total.
- antiheld2000
- Forum Members
- Posts: 236
- Joined: Thu Jan 31, 2008 9:23 am
Re: Companydirectory -> Random / Zufall
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:
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.
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);
{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.
- antiheld2000
- Forum Members
- Posts: 236
- Joined: Thu Jan 31, 2008 9:23 am
Re: [Gelöst / Workaround] Companydirectory -> Random / Zufall
*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?
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
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
http://forum.cmsmadesimple.org/index.ph ... 204.0.html
du brauchst doch nur das array shufflen und die ersten drei einträge anzeigen lassen
- antiheld2000
- Forum Members
- Posts: 236
- Joined: Thu Jan 31, 2008 9:23 am
Re: [Gelöst / Workaround] Companydirectory -> Random / Zufal
Danke. Das war's. Echt simpel:
Code: Select all
{capture}{$items|@shuffle}{/capture}