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}