Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 31. Oktober 2013 09:16
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
ListIt2 nach Kategorien sortieren
Hallo Zusammen,
ich habe gestern den ganzen Tag dran gebastelt komme aber leider nicht weiter. Ich habe das Modul ListIt2 und dazu einige Kategorien erstellt. Jetzt möchte ich das Summary Template so einbauen, dass folgende Ausgabe entsteht:
Kategorie 1
Eintrag 1
Eintrag 2
Eintrag 3
Kategorie 2
Eintrag 4
Eintrag 5
Eintrag 6
usw.
Hat da jemand einen Denkansatz für mich? Freue mich über jede Hilfe.
Gruß Rafael
Offline
#2 31. Oktober 2013 10:09
- Janl
- Server-Pate
- Ort: Freistadt, Österreich
- Registriert: 13. Dezember 2010
- Beiträge: 1.231
- Webseite
Re: ListIt2 nach Kategorien sortieren
Vielleich so etwas.
{foreach from=$items category=category}
{foreach from=$items item=item}
Details . . . .
{/foreach}
{/foreach}
soll mit ein genestete Loop gemacht.
Bin nicht (mehr) so fit mit Listit.
mfg
Jan
Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04 - win10 pro
Offline
#3 31. Oktober 2013 10:12
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
Re: ListIt2 nach Kategorien sortieren
Hallo Janl,
habe ich auch so versucht nur leider macht der mir dann alle Ausgaben doppelt.
Gruß Rafi
Offline
#4 31. Oktober 2013 10:29
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
Re: ListIt2 nach Kategorien sortieren
Ah jetzt habe ich folgendes Template gebaut:
{foreach from=$categories item=category}
<strong>{$category}</strong><br />
{if $category->alias == "seiten"}
{foreach from=$items item=item}
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{ListIt2Loader item='category' value=$fielddef.value assign='cats'}
{if $cats->alias == "seiten"}
{$item->title}<br />
{/if}
{/if}
{/foreach}
{/foreach}
{/if}
{/foreach}
Jetzt muss das da nur wo seiten drin steht noch dynamisch sein und dann hätte ich das so wie ich das brauche.
Offline
#5 31. Oktober 2013 10:32
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
Re: ListIt2 nach Kategorien sortieren
So ich habe die Lösung jetzt doch noch selbst herausbekommen und poste diese mal die genau nach dem selben Schema suchen. Wichtig ist, dass Ihr das Kategorie-Template verwenden.
{foreach from=$categories item=category}
<strong>{$category}</strong><br />
{if $category->alias == $category->alias}
{foreach from=$items item=item}
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{ListIt2Loader item='category' value=$fielddef.value assign='cats'}
{if $cats->alias == $category->alias}
{$item->title}<br />
{/if}
{/if}
{/foreach}
{/foreach}
{/if}
{/foreach}
Ich bin gerade dabei das noch zu erweitern weil am Ende soll eine Tabelle daraus entstehen. Werde die komplette Lösung mal posten.
Gruß Rafael
Offline
#6 31. Oktober 2013 10:39
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
Re: ListIt2 nach Kategorien sortieren
Jetzt habe ich nur das Problem, dass in meiner Auflistung der Einträge, im Modul selbst, nicht gezeigt wird zu welcher Kategorie die dazugehören. Muss ich das im Modul irgendwo aktivieren?
Offline
#7 31. Oktober 2013 11:46
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: ListIt2 nach Kategorien sortieren
Hi,
unter "Optionen" gibt es das Feld "diese Felder in der Übersicht zeigen". Dort musst Du mit gedrückter STRG-/cmd-Taste die entsprechenden Felder auswählen. Da sollte auch die Kategorie als Möglichkeit auftauchen.
Offline
#8 31. Oktober 2013 12:26
- RafaelCzernek
- probiert CMS/ms aus
- Registriert: 20. November 2012
- Beiträge: 47
Re: ListIt2 nach Kategorien sortieren
Moinsen,
vielen Dank, jetzt sind all meine Probleme gelöst!
Offline
#9 16. Dezember 2013 12:16
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: ListIt2 nach Kategorien sortieren
Hi,
jetzt stehe ich vor einem ähnlichen Problem - ich möchte gerne aus den schon vorhandenen Einträgen eine Tabelle erstellen. Kategorien sind angelegt und werden mit o.g. Code auch ausgegeben - allerdings bekomme ich keine weiteren Infos (wie Titel oder eigene Felder) angezeigt (die einzelnen Einträge sind den Kategorien zugeordnet).
Seit es die neuen Kategorien bei ListIt2 gibt, bin ich auch noch nie wirklich durchgestiegen - dabei ist dieser Anwendungsfall doch sicher mit der Häufigste.
Wie genau rufst Du das Modul auf? Mit {ListIt2Name action='category'}?
Offline
#10 17. Dezember 2013 12:29
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: ListIt2 nach Kategorien sortieren
Hast du schon mit {get_template_vars} geprüft, welche Werte da bei Smarty ankommen?
Offline
#11 20. Dezember 2013 12:16
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: ListIt2 nach Kategorien sortieren
Hi nochmal,
ja, habe heute mal geschaut - wenn ich das Modul mit action='category' und dem o.g. Template als Kategorie-Template aufrufe, bekomme ich zwar einen Array "items" - dieser enthält aber nicht die Werte sondern die Feldbezeichnungen der Items selbst.
Ich habe jetzt mit einem normalen Summarytemplate experimentiert - bin aber gerade blockiert.
Mein Gedanke ist folgender:
[== Smarty ==]
{foreach from=$items item=item}
<p>
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{ListIt2Loader item='category' value=$fielddef.value assign='cats'}
Category: {$cats}<br>
{/if}
{/foreach}
<a href="{$item->url}">{$item->title}</a>
</p>
{/foreach}
Ich habe innerhalb der äußeren foreach-Schleife eine Abfrage nach den Kategorien (das geht z.B. mit {$item->fielddefs.category.value} - damit wird die Kategorie-ID 1, 2, 3 usw. ausgegeben).
Beim ersten Durchlauf wird noch der Kategorie-Titel {$cats} ausgegeben. Danach merkt die Schleife, dass die Kategorie-ID sich nicht geändert hat und geht direkt zum {$item-title} (oder anderen Feldern - das klappt).
Ändert sich nun die Kategorie-ID gegenüber dem vorherigen Durchlauf, wird {$cats} wieder angezeigt und das Spiel beginnt von vorne, bis alle Items abgearbeitet sind.
Das ist sicher ganz einfach - aber ich sehe gerade nur eine Schwarze Wand.
Hier ist mal ein plumper Ansatz um überhaupt irgendwie auf die Anzeige von {$cats} einzuwirken:
[== Smarty ==]
{assign var='actual_cat' value='1'}
{foreach from=$items item=item}
<p>
{if $actual_cat == $item->fielddefs.category.value}
{foreach from=$item->fielddefs item=fielddef}
{if $fielddef.type == 'Categories' && ($fielddef.value != '')}
{ListIt2Loader item='category' value=$fielddef.value assign='cats'}
Category: {$cats}<br>
{/if}
{/foreach}
{else}
{assign var='actual_cat' value=$actual_cat+1}
{/if}
<a href="{$item->url}">{$item->title}</a>
</p>
{/foreach}
Funktioniert aber leider nicht (erst, wenn ich den else-Teil entferne, klappt es zumindest für die erste Kategorie).
Sicher kann man generell die innere foreach-Schleife auch noch wegrationalisieren - aber ich bin froh, dass ich so überhaupt Kategorien und Felder des Eintrags zusammengebracht habe ;-).
Offline
Seiten: 1