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

#1 31. Oktober 2013 09:16

RafaelCzernek
probiert CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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.039
Webseite

Re:

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


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#3 31. Oktober 2013 10:12

RafaelCzernek
probiert CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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 CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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 CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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 CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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: 594

Re:

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 CMSMS aus
Registriert: 20. November 2012
Beiträge: 47

Re:

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: 594

Re:

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

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Hast du schon mit {get_template_vars} geprüft, welche Werte da bei Smarty ankommen?


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#11 20. Dezember 2013 12:16

jeff1980
Server-Pate
Ort: Dortmund
Registriert: 26. November 2010
Beiträge: 594

Re:

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

Fußzeile des Forums

Powered by FluxBB