Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 20. Juni 2017 18:21
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
News - Nach Erstellungsjahren sortieren
Hallo!
Ich möchte die News nach Jahren sortiert ausgeben - ist das möglich?
Vielen Dank!
Offline
#2 20. Juni 2017 20:53
- nockenfell
- Moderator
- Ort: Lenzburg, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.927
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Du meinst, dass zwischen den Jahreswechseln jeweils die Jahreszahl kommt?
2017
- News 1
- News 2
2016
- News 1
- News 2
So etwas kannst du mit Hilfe von zusätzlichen Variablen im Template lösen
{$jahr = ''}
{foreach from=$items item=entry}
{if $entry->postdate|date_format:'%Y' != $jahr}
<h1>{$entry->postdate|date_format:'%Y'}</h1>
{$jahr = $entry->postdate|date_format:'%Y'}
{/if}
.... Rest des News Templates .....
{/foreach}
Der Code ist ungetestet, müsste aber in etwa so funktionieren.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#3 21. Juni 2017 08:30
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Ah cool...
Ich werds gleich einfacher machen - ich werde einfach Buttons bzw. LInks drüber machen und jeweils die News von diesem Jahr ausgeben - aber das sollte mit deinem Code eh funktionieren!
Offline
#4 23. Juni 2017 12:53
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Wenn ich z.B. nur ein Jahr ausgeben möchte - brauche ich der Variable $jahr nur den entsprechenden Wert zuweisen und diese Zeile hier
{$jahr = $entry->postdate|date_format:'%Y'}
löschen, oder?
Offline
#5 23. Juni 2017 21:17
- nockenfell
- Moderator
- Ort: Lenzburg, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.927
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Du braucht die neue Zuweisung, damit du beim nächsten Jahr wieder einen neuen Titel bekommst. Ebenso prüft es bei jedem Datensatz, ob der Titel geändert hat.
Wenn du jedoch nur ein Jahr ausgewählt hast, braucht es das natürlich nicht. Dann sollte aber der Titel ausserhalb der foreach Schleife sein.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#6 30. Juni 2017 09:17
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Wo findet die Auswahl statt, welche Jahr ausgegeben wird?
Es wird ja nur die Variable angelegt, der Titel hinzugefügt - aber wo wird gesagt, dass die Beiträge z.B. nur aus 2015 angezeigt werden?
Danke!
Offline
#7 04. Juli 2017 16:40
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Ähmm, das war aber nicht deine Frage ...
Ich möchte die News nach Jahren sortiert ausgeben - ist das möglich?
Smarty-basiert müsste es so aussehen
{$jahr = '2017'}
{foreach from=$items item=entry}
{if $entry->postdate|date_format:'%Y' == $jahr}
.... Rest des News Templates .....
{/if}
{/foreach}
wobei die erste Zeile das auszugebende Jahr festlegt.
Ist performance seitig natürlich alles andere als optimal. Besser wäre, wenn man das Jahr gleich direkt bei der Datenbankabfrage hinterlegen könnte ... aber das wäre dann ein Fall für die Bastelstube .
Offline
#8 24. Juli 2017 09:16
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Danke, hört sich schlüssig an - so eingebaut ändert sich an meiner Ausgabe aber nichts?
{if $pagecount > 1}
<div class="row">
<div class="small-12 columns">
<ul class="pagination">
<li class="arrow{if !isset($prevurl)} unavailable{/if}">
<a href="{$prevurl|default:"#"}">«</a>
</li>
{if $pagenumber <= 1}
{$page_link=$nexturl}
{else}
{$page_link=$prevurl}
{/if}
{section name="pages" start=0 loop=$pagecount}
{if $smarty.section.pages.iteration == $pagenumber}
{$css_class=' class="current"'}
{$href="#"}
{else}
{$css_class=""}
{$href=$page_link|regex_replace:"/pagenumber=\d+/":"pagenumber=`$smarty.section.pages.iteration`"}
{/if}
<li{$css_class}>
<a href="{$href}">{$smarty.section.pages.iteration}</a>
</li>
{/section}
<li class="arrow{if !isset($nexturl)} unavailable{/if}">
<a href="{$nexturl|default:"#"}">»</a>
</li>
</ul>
</div>
</div>
{/if}
<p><p/>
{$jahr = '2016'}
{foreach from=$items item=entry}
{if $entry->postdate|date_format:'%Y' == $jahr}
<!--{foreach from=$items item=entry}-->
<div class="NewsSummary row">
{if isset($entry->extra)}
<div class="small-8 columns">
{else}
<div class="small-12 columns">
{/if}
{if $entry->postdate}
<div class="NewsSummaryPostdate">
{$entry->postdate|cms_date_format}
</div>
{/if}
<div class="NewsSummaryLink">
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a>
</div>
{if $entry->summary}
<div class="NewsSummarySummary">
{$entry->summary|strip_tags}
</div>
<br/>
<div class="NewsSummaryMorelink">
[{$entry->morelink}]
</div>
{else if $entry->content}
<div class="NewsSummaryContent">
{$entry->content}
</div>
{/if}
{if isset($entry->extra)}
</div>
<div class="small-4 columns">
<div class="NewsSummaryExtra Gallery">
{Gallery dir=$entry->extra template="db-one-image" number="1"}
</div>
</div>
{else}
</div>
{/if}
</div>
<hr/>
<!--{/foreach}-->
{/if}
{/foreach}
{if $pagecount > 1}
<ul class="pagination">
<li class="arrow{if !isset($prevurl)} unavailable{/if}">
<a href="{$prevurl|default:"#"}">«</a>
</li>
{if $pagenumber <= 1}
{$page_link=$nexturl}
{else}
{$page_link=$prevurl}
{/if}
{section name="pages" start=0 loop=$pagecount}
{if $smarty.section.pages.iteration == $pagenumber}
{$css_class=' class="current"'}
{$href="#"}
{else}
{$css_class=""}
{$href=$page_link|regex_replace:"/pagenumber=\d+/":"pagenumber=`$smarty.section.pages.iteration`"}
{/if}
<li{$css_class}>
<a href="{$href}">{$smarty.section.pages.iteration}</a>
</li>
{/section}
<li class="arrow{if !isset($nexturl)} unavailable{/if}">
<a href="{$nexturl|default:"#"}">»</a>
</li>
</ul>
{/if}
<!-- End News Display Template -->
Offline
#9 06. August 2017 16:30
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Das heisst, dir wird immer noch alles ausgegeben?
Offline
#10 07. August 2017 20:39
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: News - Nach Erstellungsjahren sortieren
Ja, leider!
Offline
#11 19. Juni 2018 12:17
- stefanauskoeln
- probiert CMS/ms aus
- Registriert: 16. April 2012
- Beiträge: 59
Re: News - Nach Erstellungsjahren sortieren
sorry, arbeite noch dran ;-)
Beitrag geändert von stefanauskoeln (19. Juni 2018 13:11)
Offline
Seiten: 1