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

#1 10. November 2014 12:08

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

List2: Kategorien mit abgelaufenen Artikeln werden gezeigt

Hallo zusammen.

ich hatte das in einem anderen Thema schon mal beiläufig angesprochen. Da es jetzt wieder aktuell ist, mache ich nochmal einen eigenen Thread draus.

1. Ich gebe links ein Kategoriemenü aus. Eine einzelne Kategorie soll nur angezeigt werden, wenn sich sichtbare Artikel in dieser Kategorie befindet.

2. Die Artikel haben ein Ablaufdatum

Problem: Wenn dieses Datum erreicht wird, verschwinden zwar die Artkel wie gewünscht aus der Aufllistung – die Kategorie wird aber weiterhin angezeigt. Also praktisch eine leere Kategorie.

Meine bisherige Lösung war, die abgelaufenen Artkel zu deaktivieren [x]. Dann verschwindet auch die Kategorie.

Allerdings besteht nun der Wunsch, alte Artikel an anderer Stelle zu archivieren. Und das Archiv berücksichtigt keine deaktivierten Artikel. Abgelaufene aber schon.

Meine erste Frage ist, ob es sich dabei um einen Versionsbug handelt oder ob es so gedacht ist? Die zweite wäre, wenn es so gedacht ist - wie könnte man das umgehen?


CMSMS: 1.11.10
Listit2: 1.4.1

Beitrag geändert von antibart (10. November 2014 12:53)

Offline

#2 13. November 2014 10:56

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.231
Webseite

Re: List2: Kategorien mit abgelaufenen Artikeln werden gezeigt

Ganz algemein.

Ob eine Kategorie leer ist kan doch mit einer Foreach-Schleife getestet werden (mit Zähler) um dann zu zeigen oder nicht, kostet nur etwas Zeit.

Mit freundlichen Grüßen,
Jan


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline

#3 13. November 2014 11:08

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: List2: Kategorien mit abgelaufenen Artikeln werden gezeigt

Juchei - eine Antwort. Danke. smile

Du meinst:

[== smarty ==]
{if $category->items|count > 0}

Das wird abgefragt. Die Abfrage bezieht allerdings abgelaufene items mit ein. Und genau das ist das Problem. Der Zähler ist dann auf 0, wenn die Beiträge deaktiviert / gelöscht werden - nicht, wenn sie abgelaufen sind.

Beitrag geändert von antibart (13. November 2014 11:31)

Offline

#4 13. November 2014 13:47

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: List2: Kategorien mit abgelaufenen Artikeln werden gezeigt

Das hier müsste funktionieren — Du musst nur schauen wohin damit innerhalb der {foreach} und {if} Schleifen ... da schiele ich gerade und krieg es nicht auf die Reihe (davon abgesehen, dass ich Dein Template ja gar nicht kenne...)big_smile

[== Smarty / ListIt2-Template ==]
{* check if date is old *}{if $item->end_time >= $smarty.now|cms_date_format}
<!-- do this //-->
{/if}{* eof check *}  

Bzw. eben dann vice-versa.
Wie sich das allerdings verhält mit "Dauer-Aktiven", also Einträgen die kein Enddatum haben, hab ich jetzt nicht nachgeschlagen. Ich hab nur getestet was passiert, wenn das Enddatum größer ist als das aktuelle Datum.

Vielleicht musst Du auch die Zeit anders rechnen als ich jetzt hier.
Ich hatte eben 2014-11-14 als Ergebnis und konnte das deswegen gut abziehen.

Ich hoffe es bringt Dich einen Schritt weiter - zu feilen gibt es sicher noch genug.  smile

Offline

#5 13. November 2014 13:54

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: List2: Kategorien mit abgelaufenen Artikeln werden gezeigt

Hi,

danke dir. Das sieht schon mal gut.

Jeder Termin hat ein Ablaufdatum - das wäre also kein Problem.

Offline