archive per jaar, maand met cgblog

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

archive per jaar, maand met cgblog

Post by Gregor »

Hallo,

Ik ben nu een poosje aan het stoeien geweest om de artikelen uit cgblog te groeperen per jaar en daarbinnen per maand, met de respectievelijke aantallen erachter. Een beetje zoals je dat wellicht van blogspot en wordpress kent ;)
Vanuit de standaard template krijg ik een overzicht:
# January 2011 - (2)
# December 2010 - (2)
# November 2010 - (3)
# October 2010 - (6)
# September 2010 - (4)
en wat ik zou willen is:
> jaar 1 (xx)
>> maand 1 (xx)
>> maand 2 (xx)
> jaar 2 (xx)
>> maand 1 (xx)

Iemand een suggestie hoe dit in een template te gieten? Het forum doorzocht en daar niet echt een werkende toepassing gevonden.

Grtz, Gregor
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Vast toch wel iemand op het forum die daar ideeën over heeft en die wil delen om tot een oplossing te komen ;)

Gregor
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Ik ben een klein stapje verder. Deze template:

Code: Select all

{foreach from=$archivelist item=one}
{capture assign='theyear'}{$one.datestamp|date_format:"%Y"}{/capture}
{capture assign='themonth'}{$two.datestamp|date_format:"%B"}{/capture}

<div class="articlesummary list">
{* <ul>Jaar {$theyear}</ul> *}
<ul><a href="{$one.summary_url}"> {$one.datestamp|date_format:"%Y"} - ({$one.count})</a></ul>
{* cms_module module="CGBlog" year=$theyear *}
  {foreach from=$archivelist item=two}
  <ul>Maand {$themonth}</ul>
    <li><a href="{$two.summary_url}">{$two.datestamp|date_format:"%B"}  - {$two.datestamp|date_format:"%Y"}({$two.count})</a></li>
  </ul>
  {/foreach}
</div>
{/foreach}
levert dit resultaat:
2011 - (3)

Maand

# January - 2011(3)

Maand

# December - 2010(2)

Maand

# November - 2010(3)

Maand

# October - 2010(6)

Maand

# September - 2010(4)

Maand

# August - 2010(12)

Maand

# July - 2010(17)

Maand
Zie ook http://www.uisge-beatha.eu/index.php?page=test

De aantallen achter maand - jaar klopt wel, maar haal ik het jaar weg, dan klopt het aantal niet meer ??? Ik zou graag weten wat er in $archivelist staat. Er staat mij bij dat er een soort print-functie is die dat kan weergeven, maar ik weet niet meer welke ;) Wie wel?
De idee van werken in de template is dat de juiste aanpak?

Gregor
deactivated010521

Re: archive per jaar, maand met cgblog

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:23 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Dank je Arnoud. Het levert een fraai resultaat op:
Array
(
[0] => Array
(
[month] => 1
[year] => 2011
[count] => 3
[summary_url] => http://www.uisge-beatha.eu/logboek/archive/2011/01.html
[datestamp] => 1293836400
)

[1] => Array
(
[month] => 12
[year] => 2010
[count] => 2
[summary_url] => http://www.uisge-beatha.eu/logboek/archive/2010/12.html
[datestamp] => 1291158000
)

[2] => Array
(
[month] => 11
[year] => 2010
[count] => 3
[summary_url] => http://www.uisge-beatha.eu/logboek/archive/2010/11.html
[datestamp] => 1288566000
)

[3] => Array
Dus 'item=one' verwijst naar het eerste element van het array, month in dit geval?

Code: Select all

{foreach from=$archivelist item=one}
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Ik probeer het jaartal terug te krijgen uit de array, maar...
{get_template_vars } levert een lijst op
[49] => Array
(
[month] => 5
[year] => 2006
[count] => 1
[summary_url] => http://www.uisge-beatha.eu/logboek/archive/2006/05.html
[datestamp] => 1146434400
)
Bekijk ik vervolgens de waarden, dan krijg ik:
{capture assign='theyear'}{$one.year}{/capture}
{$one.year|print_r}<br/>
{$theyear|print_r}<br/>

Output:
1
1

Waar ik een jaartal, bijv. 2006 zou verwachten. Waar gaan mijn verwachtingen de mist in?? Het lukt nl. niet om binnen een {if} {/if} een vergelijking te maken; de waarden gaan nooit veranderen :-\
deactivated010521

Re: archive per jaar, maand met cgblog

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:23 pm, edited 1 time in total.
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Dat leidt tot:
year of first item:

year:
all items from one:
Array
(
[month] => 1
[year] => 2011
[count] => 3
[summary_url] => http://www.uisge-beatha.eu/logboek/archive/2011/01.html
[datestamp] => 1293836400
)
1
year blijft leeg :-\
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Ah, de -> moet een . zijn

Code: Select all

year: {$one.year}<br/>
datestamp: {$one.datestamp|date_format:"%Y"}
Levert op:
year: 2011
datestamp: 2011

Dan zou {capture assign='theyear'}{$one.datestamp|date_format:"%Y"}{/capture} ertoe moeten leiden dat 'theyear' de waarde van een jaartal krijgt, bijv. 2010. De volgende code geeft voor 'theyear' de waarde 1 ???

Code: Select all

{capture assign='theyear'}{$one.datestamp|date_format:"%Y"}{/capture}
theyear: {$theyear|@print_r}
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: archive per jaar, maand met cgblog

Post by Gregor »

Ik begin een beetje radeloos te worden:

Code: Select all

{capture assign='theyear'}{$one.datestamp|date_format:"%Y"}{/capture}
theyear1: {$theyear|@print_r}<br/>
theyear2: {$one.datestamp|date_format:"%Y"|@print_r}<br/>
  {assign var='theyears' value=$archivelist[0].year}
theyear3: {$theyears|@print_r}<br/>
Levert het volgende resultaat op:
theyear1: 1
theyear2: 1
theyear3: 20111
Begrijp niet waar die 1 vandaan komt. Wie-o-wie?
deactivated010521

Re: archive per jaar, maand met cgblog

Post by deactivated010521 »

----------
Post Reply

Return to “Dutch - Nederlands”