Gettext mit Smarty3 benutzen

Weihnachten hin oder her, aber auch an Weihnachten muss man was tun.

Smarty 3 ist eine sehr gute Template Engine. Mit gettext kann man effizient mehrsprachige PHP Programme erstellen. Warum nicht beides zusammen führen.

Da Smarty 3 noch neu ist, war im Internet nicht wirklich viel zu finden. Nach bemühen der Doku lässt sich jedoch eine ganz einfache Lösung finden.

Der Einsatz von Post und Pre Filtern.

Zuerst einfach zwei PHP Funktionen:

und:

jetzt noch die Filter registrieren:

Und schon wird aus {_”Text”} im HTML Template, ein  echo _(“Text”);.

Solange kein $force_compile gesetzt ist, muss auch nicht mit zusätzlichen Performance Einbusen gerechnet werden :)

MySQL Date Time -> TIMESTAMPDIFF()

Sucht man im Internet nach MySQL und Zeitunterschied ermitteln, oder Alter bestimmen landet man bei den abenteuerlichsten Anleitungen. Sehr verbreitet ist vor allem die Benutzung von UNIX Timestamps. Schön und gut, solange es nicht um Daten vor 1970 geht. Ok, ehrlich gesagt weder schön noch gut, gibt es doch die MySQL Datums und Zeit Funktionen.

Eine dieser Funktionen ist TIMESTAMPDIFF(). TIMESTAMPDIFF nimmt 3 Parameter entgegen, den Interval sowie die beiden zu vergleichenden Daten.

Möchte ich zum Beispiel das Alter einer Person bestimmen, dessen Geburtsdatum in dem Tabellenfeld gebdate steht, reicht folgendes:

>

Anstelle YEAR stehen noch die folgenden Intervalle zur Verfügung:
FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, sowie QUARTER

Und natürlich kann TIMESTAMPDIFF auch innerhalb WHERE benutzt werden, um Beiträge größer, kleiner, gleich etc. zu selektieren.

Noch Fragen? :-)

Mal wieder ein Blog

Schon weit über 10 Jahre habe ich nun diese Domain mit meinem Namen. So einiges war bereits unter ihrer Adresse zu finden. Nichts blieb, nichts war von Dauer. Hier nun der Versuch, dies zu ändern. Mein fast erster Blog.

Noch strahlt er in einem WordPress Default Design, aufgrund eines Projektes fehlt mir schlicht die Zeit, dies zu ändern.

Themen in diesem Blog werden unter anderem Webentwicklung mit PHP, MySQL und Ajax sein, sowie “private” Dinge wie meine Fotos, Reisen und Urlaube.

Viel Spass,

Bastian