umwandlung von datum in index-feld

Diskussion zum Modul Latest-News für ConPresso 4.
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

umwandlung von datum in index-feld

Beitrag von baluo »

hallo allerseits,

wahrscheinlich gehoert dieses thema nicht hier her, aber in diesem zusammenhang kam mir diese frage:

ich benutze ja latest news ausfuehrlichst als "terminkalender", und soweit auch ganz gut (gerade auch fuer meine redakteure).

sortiert werden die artikel nach einer 6-stelligen ziffer im index-feld, naemlich das datum rueckwaerts: 23.08.2006 = 060823.

meine Frage:
aus bestimmten gruenden wuerde ich nun gerne dieses ziffer in einer ausgabe wieder umgewandelt bekommen in ein *kurz*-datum, z.b. "Mi, 23.08.2006". koennt ihr php-expeten mir (php-laien) dazu einen guten tip geben, den ich in cpo mit aufnehmen kann ?

danke, gerhard
(antwort hat zeit, ich bin erst einmal fuer eine woche verreist !)
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 »

Hallo Gerhard

Suche in _include/parser_r_value.inc.php

Code: Alles auswählen

case stristr(strtolower($key), 'articleidx'):
    $replacement = htmlspecialchars($content[$key]['articleidx']); 
    break;
und ersetze es durch:

Code: Alles auswählen

case stristr(strtolower($key), 'articleidx'):
    $replacement = htmlspecialchars($content[$key]['articleidx']); 
    if (array_key_exists('date', $parameters) && is_int($content[$key]['articleidx'])) {
        $date = strtotime(substr($content[$key]['articleidx'], 0, 2).'-'.substr($content[$key]['articleidx'], 2, 2).'-'.substr($content[$key]['articleidx'], 4, 2)); 
        $replacement = htmlspecialchars(date($cpoRubrics[$db_rubric_id]['settings']['date_format'], $date)); 
        $replacement = htmlspecialchars($translator->getDateTranslation($replacement, $cpoRubrics[$db_rubric_id]['settings']['language']));
        if (array_key_exists('timestamp', $parameters)) {
            $replacement = htmlspecialchars($date); 
            break;
        }
        if (array_key_exists('format', $parameters)) {
            $replacement = date($parameters['format'], $date); 
            $replacement = htmlspecialchars($translator->getDateTranslation($replacement, $cpoRubrics[$db_rubric_id]['settings']['language']));
        }
    }
    break;
Du kannst den Platzhalter

Code: Alles auswählen

<!-- Value: articleidx; date; format=d.m.Y; -->
wie den von "pub_date" benutzen. Es muss nur der zusätzliche Parameter "date" vorhanden sein.

Gruß Matthias V

P.S.
Wenn du das Modul_Guestbook benutzt musst du diese Änderung auch in der Datei gästebuchverzeichnis/_include/parser_r_value.inc.php durchführen.
Zuletzt geändert von Matthias V am 05.02.2007 12:39, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo matthias,

danke fuer diesen code -- technisch gesehen scheint er mit den entsprechenden php-veraenderungen auch zu klappen ... nur gibt er mir als datum das heutige aus -- und zwar fuer alle termin-artikel gleichermassen (= liest offensichtlich nicht das index-feld aus).

und noch eine frage:
kann mir der platzhalter auch noch den tag in kurzform mit ausgeben, also z.B. "Fr, 08.09.2006" ?

danke, gerhard
Matthias V hat geschrieben:Du kannst den Platzhalter

Code: Alles auswählen

<!-- Value: articleidx; date; format=d.m.Y; -->
wie den von "pub_date" benutzen. Es muss nur der zusätzliche Parameter "date" vorhanden sein.
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 »

baluo hat geschrieben:.. technisch gesehen scheint er mit den entsprechenden php-veraenderungen auch zu klappen ... nur gibt er mir als datum das heutige aus -- und zwar fuer alle termin-artikel gleichermassen (= liest offensichtlich nicht das index-feld aus).
Wie jetzt?
funktioniert es oder nicht?
Ich habe es bei mir getestet und da hat es funktioniert.
Warum gibt es bei dir immer den aktuellen Tag aus?
Hast du auch wirklich die Index-Felder mit "JJMMDD" d.h. 060908 für heute gefüllt?

Mit welchen entsprechenden php-Veränderungen?

Und ich hatte geschrieben, dass der Platzhalter wie ein normaler Datums-Platzhalter funktioniert, d.h. du kannst alle Formatierungen von date verwenden: http://de.php.net/date

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Matthias V hat geschrieben:Hast du auch wirklich die Index-Felder mit "JJMMDD" d.h. 060908 für heute gefüllt?
im index-feld steht das jeweilige datum des termin-artikels, und zwar rueckwaerts: "060908" (also konkrete zahlen !); und die artikel werden nach diesem index-feld sortiert (nur so als randbemerkung).
Mit welchen entsprechenden php-Veränderungen?
naja, so wie du es mir "vorgeschrieben" hast :?
Datums-Platzhalter funktioniert, d.h. du kannst alle Formatierungen von date verwenden: http://de.php.net/date
hatte ich bisher noch nicht benutzt ... du weisst doch, bin php-anfaenger

gerhard
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 »

baluo hat geschrieben:
Datums-Platzhalter funktioniert, d.h. du kannst alle Formatierungen von date verwenden: http://de.php.net/date
hatte ich bisher noch nicht benutzt ... du weisst doch, bin php-anfaenger

gerhard
Gerhard... :shock:

in den Systemeinstellungen von ConPresso und bei Bedarf bei JEDER Rubrik gibt es das Feld für das Datumsformat... dann wird es jetzt aber höchste Eisenbahn sich das mal anzuschauen.

Matthias hat Dir nur den entscheidenden Code-Teil geschrieben.
Du könntest jetzt _include/parser_r_value.inc.php in ein ZIP-Archiv packen und hier dranhängen, dann kann er sich die Frage selbst beantworten... :wink:
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
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

@baluo:
sach ma', geht es wieder um dieser gruppierungsindex-datumumwandlung, für
die ich dir vor geraumer zeit mal ein modul-internes workaround
programmiert habe?
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
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 »

Hallo Gerhard
MarkusR hat geschrieben:in den Systemeinstellungen von ConPresso und bei Bedarf bei JEDER Rubrik gibt es das Feld für das Datumsformat... dann wird es jetzt aber höchste Eisenbahn sich das mal anzuschauen.
Und dann ist es natürlich auch im Template möglich das Format anzugeben: http://www.conpresso.de/download/readme ... luePubdate
Das steht auch so in der Art im Aktuellen Handbuch.

Vorrangig wird das format der Platzhalter benutzt, wenn nicht vorhanden das Format in den Rubrikeinstellungen, wenn nicht vorhanden, das Format aus den Systemeinstellungen.

Damit hast du alle Möglichkeiten Datumswerte zu formatieren.

... aber natürlich gibt es beim Index-Feld keine Uhrzeit, wo soll die auch herkommen.

baluo hat geschrieben:
Matthias V hat geschrieben:Hast du auch wirklich die Index-Felder mit "JJMMDD" d.h. 060908 für heute gefüllt?
im index-feld steht das jeweilige datum des termin-artikels, und zwar rueckwaerts: "060908" (also konkrete zahlen !); und die artikel werden nach diesem index-feld sortiert (nur so als randbemerkung).
Matthias V hat geschrieben:Mit welchen entsprechenden php-Veränderungen?
naja, so wie du es mir "vorgeschrieben" hast :?
Ok, dann ist ja alles klar, wenn du die Codeänderung durchführst.

Und "JJMMDD" heißt nichts anderes wie "YearMonthDay"- jeweils zweistellig, also so wie du das Index-Feld benutzen wolltest. (ich habe nur JJ statt YY geschrieben ... mein Fehler)

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

MarkusR hat geschrieben:Gerhard... :shock:
__lol__, nur geduld mit meiner armen alten seele :-)
in den Systemeinstellungen von ConPresso und bei Bedarf bei JEDER Rubrik gibt es das Feld für das Datumsformat... dann wird es jetzt aber höchste Eisenbahn sich das mal anzuschauen.
gesehen habe ich das schon zuvor, nur anfangen konnte ich bisher nichts damit:
im terminkalender werden die *termine* bislang per hand im title-platzhalter eingetragen und auch so ausgelesen, und das index-feld habe ich bislang nur zu sortierung benutzt.
ich vermute mal, diese datumsausgabe waere relevant z.b. bei einem platzhalter "publication date" ...

aber hier geht es ja um die frage:
wie kann ich das (rueckwaerts geschriebene) datum im index-feld in kurzform auslesen.
das problem ist ja nicht die darstellung, sondern das datum selbst. deswegen ja auch meine bemerkung vorhin: es funktioniert im prinzip (naemlich mit dem heutigen datum), aber nicht mit dem *eingetragenen* datum.
Du könntest jetzt _include/parser_r_value.inc.php in ein ZIP-Archiv packen und hier dranhängen, dann kann er sich die Frage selbst beantworten... :wink:
@ matthias: einverstanden ?

ciao und schoenen mittag, gerhard
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 »

baluo hat geschrieben:
MarkusR hat geschrieben:Du könntest jetzt _include/parser_r_value.inc.php in ein ZIP-Archiv packen und hier dranhängen, dann kann er sich die Frage selbst beantworten... :wink:
@ matthias: einverstanden ?
Kannst es ja nochmal rüberschieben, dann schau ich mir das nochmal an.

Aber bei mir hatte es funktioniert. Und es hatte, soweit ich weiß, auch nicht nur das aktuelle Tages-Datum ausgegeben.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

sorry matthias,
du hast mich vollkommen verloren :?

also, abgesehen davon, dass ich diese datumsfunktionen bisher nicht gebraucht und mangels ausreichender php-kenntnisse nicht eingesetzt habe --- im prinzip habt ihr ja recht ...

nur -- reden wir gerade aneinander vorbei oder habe ich ein loch im verstehen dieses threads ???

das ist der platzhalter:

Code: Alles auswählen

<!-- Value: articleidx; date; format=D, d.m.Y; -->
und er gibt ein datum aus:
"Fr, 08.09.2006", aber *anstelle* eines ganz anderen index-eintrages
(die uhrzeit spielt keine rolle, sie wird per hand eingetragen).

zu diesem raetsel suche ich eine loesung :(

mahlzeit, gerhard
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 »

baluo hat geschrieben:das ist der platzhalter:

Code: Alles auswählen

<!-- Value: articleidx; date; format=D, d.m.Y; -->
und er gibt ein datum aus:
"Fr, 08.09.2006", aber *anstelle* eines ganz anderen index-eintrages
(die uhrzeit spielt keine rolle, sie wird per hand eingetragen).

zu diesem raetsel suche ich eine loesung :(
Ich habe im Template

Code: Alles auswählen

Index-Datum: <!-- Value: articleidx; date; format=D, d.m.Y; --> Index: <!-- Value: articleidx -->
stehen und bekomme
Index-Datum: So, 26.03.2006 Index: 060326
als Ausgabe.

Nimm doch einfach mal die Datei aus dem Anhang (für eingeloggte User).
Wenn es nicht geht, dann musst du mir eben mal Zugangsrechte per PN schicken.

Gruß Matthias V

P.S. Wenn du mod_guestbook benutzt, wird gar kein Datum ausgegeben, da dort auch noch die Code-Änderung durchgeführt werden muss.

P.P.S. Wenn es immernoch nicht richtig funzt, dann kannst du ja mal in dem veränderten Code-Stück jedes $date durch $idx_date ersetzen.
Dateianhänge
parser_r_value.inc.zip
Aktuallisiert am 5.2.2007 um PHP-Warnung zum umgehen.
(1.63 KiB) 954-mal heruntergeladen
Zuletzt geändert von Matthias V am 05.02.2007 12:40, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

semf hat geschrieben:@baluo:
sach ma', geht es wieder um dieser gruppierungsindex-datumumwandlung, für die ich dir vor geraumer zeit mal ein modul-internes workaround
programmiert habe?
genau, fuer latest news, die rueckumwandlung vom index-datum in klar-datum und dann das sortieren der gottesdiensthinweise von einzelnen gemeinden nach eben diesem datum (= index)
[geloescht, weil nicht mehr existent].

wo du die aenderungen vorgenommen hattest, weiss ich allerdings nicht. aber trotzdem nochmals herzlichen dank dafuer!

ciao, gerhard
Zuletzt geändert von baluo am 27.08.2008 05:00, insgesamt 1-mal geändert.
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

Matthias V hat geschrieben:Nimm doch einfach mal die Datei aus dem Anhang
bingo, klappt --- bin mal wieder zutiefst beeindruckt. :roll:

was war jetzt deine zauberkunst ?

danke, gerhard
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 »

baluo hat geschrieben:
Matthias V hat geschrieben:Nimm doch einfach mal die Datei aus dem Anhang
bingo, klappt --- bin mal wieder zutiefst beeindruckt. :roll:

was war jetzt deine zauberkunst ?
ich habe nur das gemacht, was ich selber oben beschrieben habe. :wink:
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Antworten