Geburtstag abfragen

  • In meiner Box wir der user mit dem Namen begrüsst, das klappt auch wunderbar.


    <h2>{lang}wcf.user.dkm.infobox.title{/lang} {$__wcf->user->username}!</h2>


    da steht dann


    Willkommen Benutzer!


    Mit einer if Abfrage müsste ich doch folgendes ausgeben können


    Herzlichen Glückwunsch zum Geburtstag, Benutzer!


    Wie bekommt man den den Geburtstag raus ?



    Ich stelle mir das etwa so vor


    PHP
    1. {if $__wcf->session->getPermission('user.community.canViewBirthdayBox') && $todaysBirthdayUserProfiles|count}
    2. <h2>{lang}wcf.user.dkm.infobox.birthday{/lang} {$__wcf->user->username}!</h2>
    3. else
    4. <h2>{lang}wcf.user.dkm.infobox.title{/lang} {$__wcf->user->username}!</h2>
    5. {/if}

    2 Mal editiert, zuletzt von ruhrpottbobo ()

  • So richtig verstehe ich nicht, was Du in der Summe wo vorhast.
    Aber wenn Du Dich ins Profil einklicken willst (Template user.tpl), dann hast Du das UserProfile des Benutzer, dem das Profil gehört, in der Variablen $user.
    Mit $user->birthday kannst Du den Geburtstag des Benutzers abfragen, mit TIME_NOW die aktuelle Zeit. Nun könntes Du, wenn Du nur einen TemplateListener nutzen willst, mit ein Bißchen Formatiererei die beiden Daten vergleichen und abhängig vom Vergleich den Glückwunsch einblenden oder eben nicht.
    Beispiel: {if $user->birthday && $user->birthday|strtotime|date:"m-d" == TIME_NOW|date:"m-d"}User hat Geburstag{/if}. Damit es nur dem Benutzer angezeigt wird, dem das Profil gehört, schließt Du das noch in ein {if $user->userID == $__wcf->user->userID} ein.
    Bezüglich des Zeitvergleichs musst Du ggf. andere Funktionen nutzen, wenn die Timezones nicht passen. Ich kann's mir nicht merken und bin zu faul, nachzuschauen ;-)

    Gruß, UdoZ