Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 20. März 2013 11:36

anne66
probiert CMS/ms aus
Registriert: 21. April 2011
Beiträge: 55
Webseite

Kategorien sortieren

Moin miteinander,
habe auf der Seite
http://www.heilpraktikerin-bisping.de/i … rundbriefe
rechts eine Kategorie-Liste. Soweit so schön. Gibt es eine Möglichkeit, die Kategorien so zu sortieren, dass die neueste Unterkategorie - also 2013 - oben steht?
Das Kategorie-template sieht so aus, ich habe es nicht verändert:

{if $count > 0}
<ul class="list1">
{foreach from=$cats item=node}
{if $node.depth > $node.prevdepth}
{repeat string="<ul>" times=$node.depth-$node.prevdepth}
{elseif $node.depth < $node.prevdepth}
{repeat string="</li></ul>" times=$node.prevdepth-$node.depth}
</li>
{elseif $node.index > 0}</li>
{/if}
<li class="newscategory">
{if $node.count > 0}
    <a href="{$node.url}">{$node.news_category_name}</a> ({$node.count}){else}<span>{$node.news_category_name} (0)</span>{/if}
{/foreach}
{repeat string="</li></ul>" times=$node.depth-1}</li>
</ul>
{/if}

Es wäre prima, wenn das ginge!

Viele Grüße
Anne

Offline

#2 21. März 2013 08:14

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Offline

#3 21. März 2013 09:08

anne66
probiert CMS/ms aus
Registriert: 21. April 2011
Beiträge: 55
Webseite

Re: Kategorien sortieren

Hallo Cyberman,
Danke erst einmal für diesen Hinweis, aber leider geht das weit über meinen Programmiersprachenhorizont hinaus.
Habe die Toolbox installiert, die ToolboxPlugins stehen auch zur Verfügung, aber was mache ich mit dieser Zeile:
{tbArraySort data=$array sort="name,!vorname" assign="neuesArray"}?

Wo muss ich Sie einsetzen?
Im Kategorien-Template oder im Layout-Template, wo dies:
{cms_module module='News' action='browsecat'}
steht?

Und was muss ich dann da reinschreiben?
Müsste ich statt "$array" "$browsecat" schreiben?
Was soll ich statt "name,!vorname" schreiben?
Und assign="neuesArray" verstehe ich leider überhaupt nicht - auch nicht nach mehrmaligem Lesen der Erläuterungen.

Wie gesagt, dass geht weit über meine Fähigkeiten hinaus.
Aber vielleicht könnt ihr mich da auf die Spur bringen - man lernt ja nie aus!

Erst mal viele Grüße
Anne

Offline

#4 21. März 2013 09:36

DokuMan
probiert CMS/ms aus
Registriert: 26. November 2011
Beiträge: 51
Webseite

Re: Kategorien sortieren

Ich hatte das gleiche Problem, schau mal hier:
http://www.cmsmadesimple.de/forum/viewtopic.php?id=2641

Offline

#5 21. März 2013 09:46

anne66
probiert CMS/ms aus
Registriert: 21. April 2011
Beiträge: 55
Webseite

Re: Kategorien sortieren

hallo Dokuman,
leider auch hier - das geht über meinen Horizont, ich weiß nicht wie und wo ich solche Codestücke ein- und umsetzen soll, weil ich überhaupt keine Kenntnisse in Programmierung außer html und css habe. Ich kann mir zwar einiges erarbeiten, aber das kriege ich nicht hin

trotzdem vielen Dank!
Annne

Offline

#6 21. März 2013 12:08

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Kategorien sortieren

Eingesetzt wird das im Template für die Kategoriendarstellung, ganz am Anfang:

{tbArraySort data=$cats sort="$node.news_category_name" assign="cats"}

$cats = Array der Kategorien
$node.news_category_name = dein Kategorienname (2012, 2013 usw...)
assign="cats" = wird wieder einem Array zugewiesen

Versuch mal, ob es so überhaupt funktioniert.
Evtl. muss die Sortierung noch umgekehrt werden.

Offline

#7 21. März 2013 12:37

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Kategorien sortieren

Hmm, sollte das assign nicht besser auf z.Bsp. catsort lauten?

Könnte mir vorstellen, dass es da zu Problemen kommt, da data schon auf $cats lautet ...

Offline

#8 21. März 2013 13:04

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Kategorien sortieren

Mmm...ja...mmm.ja... hast Recht.
Müsste schon klappen, aber sicherer wäre es einem neuen Array zuzuweisen.

Also:

{tbArraySort data=$cats sort="$node.news_category_name" assign="catsort"}

Dann muss die foreach Schleife noch angepasst werden:

{foreach from=$catsort item=node} ... usw...

Offline

#9 21. März 2013 13:11

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: Kategorien sortieren

das sollte auch einfacher gehen. ohne plugins:

{foreach from=$items|array_reverse item=entry}

Offline

#10 27. März 2013 09:25

anne66
probiert CMS/ms aus
Registriert: 21. April 2011
Beiträge: 55
Webseite

Re: Kategorien sortieren

Tut mir leid,
ich verstehe nur Bahnhof und kriege das alles nicht hin.
Habe die verschiedenen Vorschläge an verschiedenen Stellen im Kategorientemplate eingesetzt, aber nix funktionierte.
Ich komme da nicht weiter.
Trotzdem Danke für eure Unterstützung.

Offline

#11 27. März 2013 16:51

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Kategorien sortieren

anne66 schrieb:

ich verstehe nur Bahnhof und kriege das alles nicht hin.
Habe die verschiedenen Vorschläge an verschiedenen Stellen im Kategorientemplate eingesetzt, aber nix funktionierte.

Nicht so hektisch wink.

Poste doch einfach mal dein komplettes Template.

Offline

#12 28. März 2013 10:54

anne66
probiert CMS/ms aus
Registriert: 21. April 2011
Beiträge: 55
Webseite

Re: Kategorien sortieren

hektisch nicht, nur frustriert, wenn ich was nicht verstehe - das kann ich als Perfektionistin ja gar nicht haben  hmm

Also: Im Layout-Template für die Newsseiten steht folgendes:

<div id="rechts">
{cms_module module='News' action='browsecat'}
</div>

("rechts" ist der Containername) Über css wird gesteuert, wo der Container sitzt und "cms_module module='News' action='browsecat'" sagt doch auch nur, was in dem Container dargestellt werden soll.

Im Template für die Kategorienanzeige (Bereich "Inhalte" >> "News" >> Reiter "Template für die Kategorienanzeige" steht dann dies:

{if $count > 0}
<ul class="list1">
{foreach from=$cats item=node}
{if $node.depth > $node.prevdepth}
{repeat string="<ul>" times=$node.depth-$node.prevdepth}
{elseif $node.depth < $node.prevdepth}
{repeat string="</li></ul>" times=$node.prevdepth-$node.depth}
</li>
{elseif $node.index > 0}</li>
{/if}
<li class="newscategory">
{if $node.count > 0}
    <a href="{$node.url}">{$node.news_category_name}</a> ({$node.count}){else}<span>{$node.news_category_name} (0)</span>{/if}
{/foreach}
{repeat string="</li></ul>" times=$node.depth-1}</li>
</ul>
{/if}

Dieses Template habe ich nicht verändert.

Offline