Mal wieder war eine Anfrage im WoltLab Community Forum der Anlass für mein kleines Experiment, welches ich erfolgreich abschließen konnte.
Die Aufgabe war, innerhalb der Themenauflistung eines Forums die Thementitel je nach Alter des Themas in unterschiedlichen Farben anzuzeigen.
Es wurden folgende Vorgaben gemacht:
Wie fast immer bei meinen Spielereien werden wir ein Template ändern. In diesem Fall geht es um das Template threadList.
Aus dem Original:
Alles anzeigen
wird:
Alles anzeigen
Kurz zur Erläuterung der vorgenommenen Änderungen:
In Zeile 61 definiere ich die Variable $threadAge, die aus der einfachen Subtraktion des Erstellungszeitpunktes von der aktuellen Uhrzeit errechnet wird. In Zeile 73 wird dem Thementitel in Abhängigkeit vom Alter des Themas via CSS eine Farbe zugewiesen.
Sowohl die verwendeten Zeitspannen als auch die Farben kann natürlich jeder nach seinen persönlichen Vorstellungen anpassen.
Hier als Ergänzung noch eine kleine Variation:
Der oben gezeigte Code färbt die Thementitel anhand der seit der Themenerstellung verstrichenen Zeitspanne. Soll stattdessen das Alter der letzten Antwort berücksichtigt werden, müsste die Variable $threadAge in Zeile 61 wie folgt definiert werden:
Und nun wie immer viel Spaß beim Ausprobieren.
Gruß norse
Die Aufgabe war, innerhalb der Themenauflistung eines Forums die Thementitel je nach Alter des Themas in unterschiedlichen Farben anzuzeigen.
Es wurden folgende Vorgaben gemacht:
- grüne Darstellung in den ersten 10 Stunden
- gelbe Darstellung von 10 bis 24 Stunden
- rote Darstellung über 24 Stunden
Wie fast immer bei meinen Spielereien werden wir ein Template ändern. In diesem Fall geht es um das Template threadList.
Aus dem Original:
Smarty-Template: 60
- {/if}
- <h3>
- {if $thread->isAnnouncement}<span class="badge badgeUpdate label">{lang}wbb.thread.announcement{/lang}</span>{/if}
- {if $thread->isSticky}<span class="badge label">{lang}wbb.thread.sticky{/lang}</span>{/if}
- {event name='badges'}
- {if $thread->movedThreadID}
- <a href="{link application='wbb' controller='Thread' object=$thread->getMovedThread()}{/link}" class="wbbTopicLink messageGroupLink" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {else}
- {if $thread->isNew()}
- <a href="{link application='wbb' controller='Thread' object=$thread}action=firstNew{/link}" class="messageGroupLink{if $thread->getBoard()->getPermission('canReadThread')} wbbTopicLink{/if}" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {else}
- <a href="{$thread->getLink()}" class="messageGroupLink{if $thread->getBoard()->getPermission('canReadThread')} wbbTopicLink{/if}" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {/if}
- {/if}
- </h3>
wird:
Smarty-Template: 60
- {/if}
- {assign var=threadAge value=TIME_NOW-$thread->time}
- <h3>
- {if $thread->isAnnouncement}<span class="badge badgeUpdate label">{lang}wbb.thread.announcement{/lang}</span>{/if}
- {if $thread->isSticky}<span class="badge label">{lang}wbb.thread.sticky{/lang}</span>{/if}
- {event name='badges'}
- {if $thread->movedThreadID}
- <a href="{link application='wbb' controller='Thread' object=$thread->getMovedThread()}{/link}" class="wbbTopicLink messageGroupLink" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {else}
- {if $thread->isNew()}
- <a href="{link application='wbb' controller='Thread' object=$thread}action=firstNew{/link}" class="messageGroupLink{if $thread->getBoard()->getPermission('canReadThread')} wbbTopicLink{/if}" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {else}
- <a {if $threadAge<36000}style="color:green;"{/if}{if $threadAge<86400 && $threadAge>36000}style="color:yellow;"{/if}{if $threadAge>86400}style="color:red;"{/if} href="{$thread->getLink()}" class="messageGroupLink{if $thread->getBoard()->getPermission('canReadThread')} wbbTopicLink{/if}" data-thread-id="{@$thread->threadID}">{$thread->topic|tableWordwrap}</a>
- {/if}
- {/if}
- </h3>
Kurz zur Erläuterung der vorgenommenen Änderungen:
In Zeile 61 definiere ich die Variable $threadAge, die aus der einfachen Subtraktion des Erstellungszeitpunktes von der aktuellen Uhrzeit errechnet wird. In Zeile 73 wird dem Thementitel in Abhängigkeit vom Alter des Themas via CSS eine Farbe zugewiesen.
Sowohl die verwendeten Zeitspannen als auch die Farben kann natürlich jeder nach seinen persönlichen Vorstellungen anpassen.
Hier als Ergänzung noch eine kleine Variation:
Der oben gezeigte Code färbt die Thementitel anhand der seit der Themenerstellung verstrichenen Zeitspanne. Soll stattdessen das Alter der letzten Antwort berücksichtigt werden, müsste die Variable $threadAge in Zeile 61 wie folgt definiert werden:
Und nun wie immer viel Spaß beim Ausprobieren.
Gruß norse
1.458 mal gelesen
sofix -
Hallo norse,
ist das für das die neue Suite auch möglich?