Kategorisierung nach Jahr, Monat etc.

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Kategorisierung nach Jahr, Monat etc.

Beitrag von glowy »

Ist es möglich, einen bestimmten Platzhalter einzufügen, um Beiträge nach dem Datum zu sortieren?

Zum Beispiel sollte man auf "2008" klicken und dann kommen alle in diesem Jahr erstellten Beiträge.

Geht das irgendwie, auch nach Monaten sortiert?

Liebe Grüße
glowy
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Grundsätzlich solltest Du klären, ob Du sortieren ODER filtern möchtest.*
Denn Du fragst zwar nach Sortieren, nennst aber nur Beispiele für Filterungen.
Bzgl. Sortieren gibt es hier einige Threads, die einfach das index-Feld für die Sortierung benutzen und Matthias hat sogar den Code gepostet, wie man dieses Feld sogar ordentlich als formatiertes Datum ausgibt.

*)
sortieren = alles zeigen, nur sortiert
filtern = NICHT alles zeigen, ggf. sortiert
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Na ja, umgangssprachlich gesagt möchte ich die Beiträge einfach nur nach dem Datum in Rubriken einteilen, das sollte automatisch geschehen.

Ein Link mit Februar soll in Rubrikansicht-Manier alle im Februar erstellten Artikel anzeigen, so dass man nicht immer alle Beiträge auf der News-Seite hat, sondern nach dem Monat einteilen kann.

Bei dem Code von Marcus, wenn es dieser ist, sehe ich nur eine Sortierung nach der Chronologie, aber nicht nach Monaten.

Würde mich freuen, wenn mir noch jemand Infos dazu geben könnte oder mir sagt, dass es aufwendig ist und erstmal nach hinten geschoben werden muss. :)

Liebe Grüße
glowy
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Können wir uns darauf einigen, daß Du eine FILTERUNG wünschst???
(Benutze einfach mal das Wort, tut gar nicht weh...)

Hast Du SQL-Kenntnisse?
Hast Du PHP-Kenntnisse?

Mich dünkt zwar, daß Du die WordPress-typische Seitenleiste bauen willst, aber das würdest Du ja sicher sagen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Ja, wenn du so möchtest, dann wünsche ich eine Filterung nach Datum, genauer gesagt nach Jahr (jetzt noch unwichtig) und Monat (wäre nützlich und übersichtlich).

Von WordPress kenne ich das zwar, möchte es aber nicht so wie es bei WordPress gemacht ist, sondern nur etwas grob strukturierter in Monate und Jahre (s.o.). Es soll nicht darauf hinaus laufen, dass man wie bei WordPress per URL nach Uhrzeit etc. sortieren kann, sondern einfach der logischen Übersicht dienen.

Was die PHP- und MySQL-Kenntnisse angeht, stehe ich zwar nicht ganz leer da, doch ich denke, dass meine Anfängerkenntnisse für größere, kompliziertere Änderungen nicht ausreichen und es mit einem Erfahrenen besser und vor allem schneller geht, der sich schon etwas auskennt in Bezug auf die SQL-Struktur von ConPresso-Projekten.

Ich hoffe, jetzt ist es etwas klarer, was ich mit der Sortierung meine. :wink:

Danke schon mal, glowy
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Dann könnte eine URL doch einfach so aussehen:
index.php?rubric=xyz&period=2008-02

Dann könntest Du in i_index.php die where-clause durch ein simples " AND pub_datum like '".$_GET['period']."'% " aufpeppen
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

In welche der vielen querys ist egal oder welche Zeile wäre die, die mein Bedürfnis betrifft?
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Kann mir keiner helfen? Ich komme leider nicht selbst auf die Lösung, da ich nicht weiß, welche Zeile die Code-Anpassung betrifft.

Freue mich, so kurz vor dem Ziel, auf eure Hilfe.

Liebe Grüße
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Theoretisch würde ich sagen: Probieren geht über studieren!!

Aber du kannst auch gleich die Zeile 69-72 nehmen:

Code: Alles auswählen

$where .= $articlestates
         ."AND pub_datum<='".date('Y-m-d H:i:s', $now)."' "
         ."AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' "
         .'AND rubric_id='.(int)$cpoRubric['id'].' ';
Und damit dir niemand Fremd-Code einspeisen kann, würde ich noch addslashes() um das $_GET packen:

Code: Alles auswählen

" AND pub_datum like '".addslashes($_GET['period'])."%' "
(Markus hatte das % und das einfache Anführungszeichen vertauscht - so sollte es jetzt richtig sein.)

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Super, vielen Dank für die Hilfe, Matthias V.

Ich habe es jetzt so, wie du mir gesagt hast, angepasst, eingefügt, aber irgendwie klappt die Filterung noch nicht. :(

In .../_includesite/i_index.php steht:

Code: Alles auswählen

$where .= $articlestates
         ."AND pub_datum<='".date('Y-m-d H:i:s', $now)."' "
         ."AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' "
         .'AND rubric_id='.(int)$cpoRubric['id'].' ';
         " AND pub_datum like '".addslashes($_GET['period'])."'% ";
Der Link zu der Monatsansicht lautet:

Code: Alles auswählen

<p><a href="index.php?rubric=Neuigkeiten&period=2008-01">JANUAR</a></p>
Dennoch geht es nicht, in den Artikeldaten muss ich ja nichts ändern, oder?

Liebe Grüße, ich hoffe, wir können das Problem noch lösen
glowy
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Das Denken nimmt dir leider keiner ab!!
--> es hat sich nämlich so angehört, als ob du dich mit PHP und SQL ein wenig auskennst und einfach nur nicht die Stelle findest, wo du es einfügen kannst.

Code: Alles auswählen

$where .= $articlestates
         ."AND pub_datum<='".date('Y-m-d H:i:s', $now)."' "
         ."AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' "
         .'AND rubric_id='.(int)$cpoRubric['id'].' '
         ."AND pub_datum like '".addslashes($_GET['period'])."%' ";
Habe einen Punkt (Verknüpfung von Zeichenketten) vor die letzte Zeile geschrieben und bei der vorletzten Zeile das Semikolon (Abschluss von Ausdrücken) entfernt.
Außerdem habe ich das %-Zeichen ein Zeichen nach vorne geschoben, wie ich es bei meinem letzten Beitrag geschrieben habe.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
glowy
ConPresso-User
Beiträge: 37
Registriert: 07.02.2007 14:38
Hat sich bedankt: 1 Mal

Beitrag von glowy »

Vielen Dank, Matthias V. Es funktioniert einwandfrei. Das mit den Punkten zur Verkettung der MySQL-Abfragen hätte ich eigentlich auch wissen müssen, gestern hatte ich das entweder übersehen oder in Kombination mit dem falschen Semikolon ausprobiert, sodass das gar nicht funktionieren konnte. Im Nachhinein ist dein Ansatz logisch, funktioniert und es tut mir Leid, dass ich da etwas länger gebraucht habe.

Danke!

Liebe Grüße
glowy
Antworten