Vergangene Einträge nicht anzeigen

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by garvinhicking »

bugrep wrote:Gibt es denn gar keine Möglichkeit das irgendwie hinzubekommen?
Im Gegenteil, es gibt da diverse Wege: Per Smarty, per Template's config.inc.php, per Event-Plugin, per automatisiertem Cronjob.

Aber für alle Wege müsste man eigentlich etwas PHP können, es gibt keine "Out of the box" lösung für diese sehr spezielle Anforderung.

Das "Archiv" ist für s9y einfach nur eine Übersicht aller Artikel die sowieso angezeigt werden. Daher zeigt das Archiv auch nur das an, was die normalen Ansichten auch zeigen. Das ist kein "Sonderarchiv" in dem dann mehr erscheinen würde als im normalen Blog.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
bugrep
Regular
Posts: 74
Joined: Tue Feb 24, 2009 8:19 am
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by bugrep »

Naja,

mit php kenne ich mich schon aus.
Was mir fehlt ist ein kleiner Gedankenanstoß wie man das realisieren könnte :mrgreen:

Mfg
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Vergangene Einträge nicht anzeigen

Post by Timbalu »

Ich denke Garvin meinte hier ~ so etwas wie:

...für die Archivübersicht eine ganz eigene SQL Entry Anfrage/Ausgabe inklusive aller Drafts via Plugin oder Config oder Cron zu basteln und mittels verschiedener Möglichkeiten (gecacht, live, smarty) auszugeben. Allerdings hast du dann je nachdem auch echte Drafts mit im Array. Wie auch immer wirst du etwas basteln müssen und das System eventuell durch eine zusätzliche Abfrage belasten.

Im Grunde widersprechen ablaufende Beiträge einem Blogsystem.

Aber vielleicht ließe sich das Ganze sowieso besser mit einer Spezialkategorie lösen, in der nur solche Beiträge zu finden sind. Hier könnte eventuell Smarty das anzeigen/verbergen über einen timestamp Vergleich übernehmen, ohne diese Einträge überhaupt als Draft zu deklarieren.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
bugrep
Regular
Posts: 74
Joined: Tue Feb 24, 2009 8:19 am
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by bugrep »

Hallo,

ich weiß das Thema ist schon etwas älter, aber ich muß es noch einmal aufgreifen.
Ich stehe vor dem Problem, das wenn ich als ExpireDate 2012-06-19 eingebe,
der Artikel sofort versteckt wird. :cry:

Ich nehme an es liegt an dem Unix timestamp.

Gibt es eine Möglichkeit das man das Datum im Format YYYY-MM-DD eingeben kann
und das ganze funktioniert?

Bitte helft mir :mrgreen:
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by garvinhicking »

Hi!

Das hatten wir ja am Anfang des Threads, Du musst einen Unixtimestamp eingeben... :)
Gibt es eine Möglichkeit das man das Datum im Format YYYY-MM-DD eingeben kann
und das ganze funktioniert?
Das geht so ohne weiteres nicht mehr, weil man ja im expiry der Artikel eine zeitDAUER angbit, nicht einen ZeitPUNKT.

Du willst ein Plugin, was das tut - das ist ein sehr spezielles Plugin für das ich allgemeingültig wenig Sinn sehe und dafür keine kostenlose Zeit opfern kann. Tut mir leid. Wenn es hier jemanden gibt das dafür ein Plugin entwickeln möchte, ist das natürlich herzlich willkommen. Das wäre auch eigentlich ein recht guter Einstieg, da man das auch nur mit mittelviel PHP- und MySQL Kenntnis hinkriegen müsste. Dafür solltest Du aber deine Anforderungen nochmal ganz konkret zusammenfassen und beschreiben.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
bugrep
Regular
Posts: 74
Joined: Tue Feb 24, 2009 8:19 am
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by bugrep »

Also mal ne genaue Beschreibung der Sachlage:

Es gibt ein Konzert welches am sagen wir 18.06.2012 stattfindet.
Dafür wird ein Beitrag erstellt mit dem Datum 18.06.2012.

In dem Artikel kann man für das Konzert karten bestellen oder was weiß ich :wink:

Jetzt ist es ja blöd wenn am 19.06. der Beitrag noch erscheint, da das Konzert ja schon vorbei ist.
Deshalb auch das Plugin "serendipity_event_outdate_entries"

Noch schnell eine Variable angelegt mit Namen ExpireDate und dort 2012-06-19 eingegeben.
Jetzt ist es aber so, wenn man dies Datum eingibt, wird der Beitrag sofort auf Entwurf gesetzt
und nicht erst am 19.06.2012 :|

Gibt man den timestamp (vom 19.06.2012) an, so scheint das Ganze zu funktionieren.
Das ist aber für die Leute die die Einträge schreiben zu umständlich immer erst den timestamp
für das Datum zu erstellen.

Darum meine Frge ob man das nicht ändern kann.
Der Wert der Variable ExpireDate wird ja in der Tabelle etrieproperties gespeichert.
Kann man nicht bevor das Datum gespeichert wird dieses in den dazugehörigen timestamp umwandeln?

Damit müßte das Problem doch eigentlich schon gelöst sein oder?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by garvinhicking »

Hi!

Hm, probier bitte mal in der serendipity_event_oudate_entries.php folgende Zeile:

Code: Select all

if (!empty($timeout_custom)) {
                        $sql = "SELECT id, ep.value AS access
                                  FROM {$serendipity['dbPrefix']}entries
                                    AS e
                                  JOIN {$serendipity['dbPrefix']}entryproperties
                                    AS ep
                                    ON ep.entryid = e.id
                                 WHERE e.isdraft = 'false'
                                   AND ep.property = 'ep_" . $timeout_custom . "' 
                                   AND ep.value != ''
                                   ANDep.value < " . time();

durch das hier zu ersetzen:;

Code: Select all

if (!empty($timeout_custom)) {
                        $sql = "SELECT id, ep.value AS access
                                  FROM {$serendipity['dbPrefix']}entries
                                    AS e
                                  JOIN {$serendipity['dbPrefix']}entryproperties
                                    AS ep
                                    ON ep.entryid = e.id
                                 WHERE e.isdraft = 'false'
                                   AND ep.property = 'ep_" . $timeout_custom . "' 
                                   AND ep.value != ''
                                   AND UNIX_TIMESTAMP(ep.value) < " . time();
Dann müsste es mit Datumswerten wie YYYY-MM-DD klappen (aber NICHT mehr mit Unix-Timestamps im Entryproperties-Feld. Aber da das im Plugins ja mit YYYY-MM-DD dokumentiert ist, sollten die Leute tatsächlich doch eher keine Unix-Timestamps nutzen...)

Grüße,
GArvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
bugrep
Regular
Posts: 74
Joined: Tue Feb 24, 2009 8:19 am
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by bugrep »

Da kann man mal sehn...

die ganze Zeit bastel ich an der serendipity_event_oudate_entries.php rum
um das Datum in den timestamp umzuwandeln.

Aber das Ganze im Mysql-Befehl zu machen, darauf bin ich nicht gekommen. :roll:

Wie sagt man so schön...warum einfach wenns auch schwer geht :mrgreen:

Auf jeden Fall scheint das Ganze jetzt zu funktionieren.
Danke für die großartige und schnelle Hilfe :wink:
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Vergangene Einträge nicht anzeigen

Post by garvinhicking »

Hi!

Super. :) Freut mich zu hören. War heute morgen gedanklich einfach völlig in einem anderen Projekt, sorry. :)

Grüße,
GArvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply