Vor einiger Zeit (bzw. eigentlich schon öfter) gab es die Nachfrage zu einer Tageszeit-abhängigen Begrüßung. Hierzu gibt es zahlreiche Lösungsansätze, die teilweise auch gut funktionieren.
Da es seitens einer unserer Kunden die erneute Nachfrage gab, möchte ich unsere Lösung zu dem Thema mal hier festhalten. Diese ist vollständig Template-basiert und unterscheidet bei Möglichkeit auch zwischen Geschlechtern und spricht eingeloggte Benutzer auch namentlich an. Vielleicht hilft es ja dem ein oder anderen:
Smarty
{assign var=__timeGreeting value=''}
{assign var=__userGreeting value=''}
{assign var=__timeElm value=TIME_NOW|time}
{assign var=__currentHour value='~<time datetime="[^"]*" class="datetime" data-timestamp="[^"]*" data-date="[^"]*" data-time="(\d+):\d+" data-offset="[^"]*">[^<]*</time>~'|preg_replace:'$1':$__timeElm|intval}
{if $__wcf->getUser()->userID}
{if $__wcf->getUser()->gender == 1}
{assign var=__userGreeting value=', lieber '|concat:$__wcf->getUser()->username}
{else if $__wcf->getUser()->gender == 2}
{assign var=__userGreeting value=', liebe '|concat:$__wcf->getUser()->username}
{else}
{assign var=__userGreeting value=', '|concat:$__wcf->getUser()->username}
{/if}
{/if}
{if $__currentHour >= 0}
{assign var=__timeGreeting value='Na, noch wach%s?'}
{/if}
{if $__currentHour >= 6}
{assign var=__timeGreeting value='Guten Morgen%s!'}
{/if}
{if $__currentHour >= 12}
{assign var=__timeGreeting value='Guten Tag%s!'}
{/if}
{if $__currentHour >= 18}
{assign var=__timeGreeting value='Guten Abend%s!'}
{/if}
<p>{$__timeGreeting|sprintf:$__userGreeting}</p>
Alles anzeigen
Update für WSC 6.0:
Smarty
{assign var=__timeGreeting value=''}
{capture assign='__currentHour'}
{time time=TIME_NOW type='custom' format='H'}
{/capture}
{if $__wcf->getUser()->userID}
{if $__wcf->getUser()->gender == 1}
{assign var=__userGreeting value=', lieber '|concat:$__wcf->getUser()->username}
{else if $__wcf->getUser()->gender == 2}
{assign var=__userGreeting value=', liebe '|concat:$__wcf->getUser()->username}
{else}
{assign var=__userGreeting value=', '|concat:$__wcf->getUser()->username}
{/if}
{else}
{assign var=__userGreeting value=$__wcf->getUser()->username}
{/if}
{if $__currentHour >= 0}
{assign var=__timeGreeting value='Na, noch wach'|concat:$__userGreeting:'?'}
{/if}
{if $__currentHour >= 6}
{assign var=__timeGreeting value='Guten Morgen'|concat:$__userGreeting:'!'}
{/if}
{if $__currentHour >= 12}
{assign var=__timeGreeting value='Guten Tag'|concat:$__userGreeting:'!'}
{/if}
{if $__currentHour >= 18}
{assign var=__timeGreeting value='Guten Abend'|concat:$__userGreeting:'!'}
{/if}
<p>{$__timeGreeting}</p>
Alles anzeigen