Im Artikel Inhalte in Smarty-Template zufällig ausgeben beschreibt Pascal in seinem IT-Blog recht schön, wie man sehr einfach (mehr oder weniger) „zufällig“ ausgewählte Inhalte in seinen Smarty-Templates anzeigen kann. Das funktioniert mit einer überschaubaren Anzahl von „zufälligen“ Inhalten auch ganz gut, ist aber nicht wirklich komfortabel zu benutzen. Zudem steht man bei nachträglichen Änderungen schnell vor der Ãœberarbeitung oder der Suche nach einer weiteren Primzahl.
Aus diesem Grund habe ich eine Funktion erstellt, die Zufallszahlen mit Hilfe des PHP-Befehls mt_rand()
generiert und zurückgibt.
Die Installation und Benutzung ist ganz einfach:
- Lade die Datei function.rand.php herunter und entpacke diese ins Verzeichnis plugins im Smarty-Verzeichnis.
- Im Template kann nun schon mit
{rand}
eine Zufallszahl erzeugt werden.
Beispiele:
{rand min=1 max=10}
liefert eine Zufallszahl zwischen 1 und 10{rand min=9 max=99 print=false}
erzeugt eine Zufallszahl zwischen 9 und 99, zeigt diese jedoch nicht an (macht somit eigentlich auch keinen Sinn){rand min=100 max=999 assign='rand'}
liefert eine Zufallszahl zwischen 100 und 999 und legt diese in der Variable$rand
ab – eine spätere Nutzung mit{$rand}
ist dadurch möglich
Das ist das ganze Hexenwerk – ab sofort gibt es direkt Zufallszahlen im Template.