Geburtsdatum (Alter)

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
Antworten
andreas_vossberg
Beiträge: 22
Registriert: 28. Aug 2021, 13:28

Geburtsdatum (Alter)

Beitrag von andreas_vossberg »

Hallo Admidio Team.

Ich benutze aktuell die Admidio-Version Installiert: 5.0.11.

Vor der Version 5.0.11 konnte man im Profil hinter dem Geburtsdatum das Alter in Klammern sehen. Leider ist dies nicht mehr vorhanden. Hat es einen Grund, warum es entfernt wurde?
Ich fand es immer sehr Bequem das Alter auf einen Blick zu sehen. Gibt es irgendwo eine Einstellmöglichkeit, die ich nicht finde, dafür?

Als Beispiele zwei Profile Bilder im Anhang.

Besten Dank und viele Grüße,
Andreas
Dateianhänge
Admidio_Profile ohne Alter_20260729_1941.png
Admidio_Profile ohne Alter_20260729_1941.png (184.33 KiB) 137 mal betrachtet
Admidio_Profile mit Alter_20220214_1120.png
Admidio_Profile mit Alter_20220214_1120.png (85.46 KiB) 137 mal betrachtet
oliver
Beiträge: 240
Registriert: 25. Nov 2014, 19:47

Re: Geburtsdatum (Alter)

Beitrag von oliver »

Das ist wech...

wenn Du das Simple-Theme nutzt und Änderungen im Theme durchführen magst:
in der Datei
themes / simple / templates / modules / profile.view.basic-informations.tpl
wird in einer Schleife jedes Profilfeld ausgegeben. Die Schleife fängt ziemlich oben an mit

Code: Alles auswählen

        {foreach $masterData as $profileField}
Und dann werden erst mal alle "Sonderfälle" behandelt (bei dem Feld mach dies und dort jenes...)
Das siehst Du ziemlich gleich darunter:

Code: Alles auswählen

{if {$profileField.id} == 'LAST_NAME' || {$profileField.id} == 'FIRST_NAME' || {$profileField.id} == 'GENDER'}
...
und dann kommen weitere "elseif"-Blöcke, bis zum Schluss der "Standard-Fall" (else-Block) für alle anderen abgearbeitet wird:

Code: Alles auswählen

            {else}
                <div class="admidio-form-group row mb-3">
                    <div class="col-sm-3">
                        {if isset($profileField.icon) && strlen($profileField.icon) > 0}
                            {$profileField.icon}
                        {/if}
                        {$profileField.label}
                    </div>
                    <div class="col-sm-9">
                        <strong>{$profileField.value}</strong>
                    </div>
                </div>
            {/if}
und direkt hier drüber setzt Du einen eigenen Sonderfall ein: Das Geburtstagsfeld. Direkt über dem else-Block (bei mir ist das Zeile 74) setzt Du ein:

Code: Alles auswählen

{elseif $profileField.id == 'BIRTHDAY'}
    <div class="admidio-form-group row mb-3">
        <div class="col-sm-3">
            {if isset($profileField.icon) && strlen($profileField.icon) > 0}
                {$profileField.icon}
            {/if}
            {$profileField.label}
        </div>

        <div class="col-sm-9">
            <strong>
                {$profileField.value}

                {if $profileField.value !== ''}
                    {$birthYear = $profileField.value|date_format:'%Y'}
                    {$birthMonthDay = $profileField.value|date_format:'%m%d'}
                    {$currentYear = $smarty.now|date_format:'%Y'}
                    {$currentMonthDay = $smarty.now|date_format:'%m%d'}

                    {$age = $currentYear - $birthYear}

                    {if $currentMonthDay < $birthMonthDay}
                        {$age = $age - 1}
                    {/if}

                    ({$age} Jahre)
                {/if}
            </strong>
        </div>
    </div>
    
Antworten