NAVIGATION
Download: http://forum.phpwcms.org/viewtopic.php?p=103834#p103834
Modul: Modul Kalender/Events
Geänderte Datei für wysiwg Ausgabe und Bild aus Dateizentrale: Komplettes Set , CSS, Templ, php
Hier ist der Kalender in Aktion zu sehen:
http://www.iba-stadtumbau.de/index.php?news-aktuell
http://www.iba-stadtumbau.de/index.php?kalender
http://forum.phpwcms.org/viewtopic.php?p=106244#p106244
Im Backend auf Module → Kalender/Events und danach das Setup Verzeichnis löschen falls noch nicht geschehen. Jetzt sollten die entsprechenden Kalender Tabellen in der Datenbank angelegt sein.
Dann wieder auf Module → Kalender/Events und einen neuen Eintrag anlegen. Bis auf die Beschreibung alles mal ausfüllen.
Bild funktioniert wohl noch nicht, zumindest habe ich in der class nichts entsprechendes gefunden.
Dann einen neuen Artikel mit CP → Einfacher Text anlegen.
Der RT sieht zur Zeit so aus:
Tags des Kalenders: http://forum.phpwcms.org/viewtopic.php?p=106796#p106796
{CALENDAR:
items=10
template=my_dates_list_de.html
lang=de
tag=tag1, tag2
tagmode=OR
href=index.php?ebene06
}tag1, tag2, usw. wird im Kalender bei Kalender: oder calendar: eingetragen, Komma separiert.
So kann bei der Ausgabe noch einmal über verschiedenen Gruppen die den z.B. tag1 enthalten gefiltert werden.
Tagmode im Moment nur OR möglich.
Das Template liegt in /template/calendar/
→ ab Zeile 105 /template/inc_script/phpwcmsCalendar.class.php
$items[$key] = $this->template; $items[$key] = render_cnt_template($items[$key], 'HREF', $href); $items[$key] = render_cnt_template($items[$key], 'TITLE', html_specialchars($date['calendar_title'])); $items[$key] = render_cnt_template($items[$key], 'TEXT', plaintext_htmlencode($date['calendar_teaser'])); $items[$key] = render_cnt_template($items[$key], 'PLACE', html_specialchars($date['calendar_where'])); $items[$key] = render_cnt_date($items[$key], $date['calendar_start_date'], $date['calendar_start_date'], $date['calendar_end_date']);
→ das einfügen
$items[$key] = render_cnt_template($items[$key], 'TEXTLONG', $date['calendar_text']);
TEXTLONG ist hier der Platzhalter der in das Template kommt:
<div class="calendar"> <div class="date"> <strong>{STARTDATE:d.m.}</strong><strong class="year">{STARTDATE:Y}</strong> </div>[TITLE] <h2>{TITLE}</h2>[/TITLE][PLACE] <p class="place">Ort: {PLACE}</p>[/PLACE][TEXT] <div class="teaser"> {TEXT} </div>[/TEXT] [TEXTLONG] <div class="textlong"> {TEXTLONG} </div>[/TEXTLONG][IMAGE_CALENDAR] <div class="image_teaser"> {IMAGE_CALENDAR} </div>[/IMAGE_CALENDAR] </div>
http://forum.phpwcms.org/viewtopic.php?p=107230#p107230
→ phpwcmsCalendar.class.php ab Zeile 105 (/template/inc_script/)
$items[$key] = $this->template; $items[$key] = render_cnt_template($items[$key], 'HREF', $href); $items[$key] = render_cnt_template($items[$key], 'TITLE', html_specialchars($date['calendar_title'])); $items[$key] = render_cnt_template($items[$key], 'TEXT', plaintext_htmlencode($date['calendar_teaser'])); $items[$key] = render_cnt_template($items[$key], 'PLACE', html_specialchars($date['calendar_where'])); $items[$key] = render_cnt_date($items[$key], $date['calendar_start_date'], $date['calendar_start_date'], $date['calendar_end_date']);
→ das einfügen
/** * Get Image ID from DB String */ $image_temp = explode(":", $date['calendar_object']); $image_temp = explode(";", $image_temp[9]); $image_id_temp = $image_temp[0]; /** * Get Image from DB table 'phpwcms_file' */ $sql_hash = _dbQuery('SELECT * FROM '.DB_PREPEND.'phpwcms_file WHERE f_id = '.$image_id_temp.' AND f_trash = 0'); $image_calendar_name = PHPWCMS_FILES.$sql_hash[0][f_hash].'.'.$sql_hash[0][f_ext]; list($ic_width, $ic_height, $ic_type, $ic_attr) = getimagesize($image_calendar_name); $image_calendar = '<img src="'.$image_calendar_name.'" width="'.$ic_width.'" height="'.$ic_height.'" alt="" />'; $items[$key] = render_cnt_template($items[$key], 'IMAGE_CALENDAR', $image_calendar);
Erläuterung:
Im ersten Schritt wird die ID des Bildes ermittelt das in der Datenbank unter calendar_object abgelegt ist.
Dann wird der Bildname (hash) sowie die Bildgröße aus der Datenbank ermittelt. Im letzten Schritt wird dann der Platzhalter IMAGE_CALENDAR durch den Image-tag ersetzt.
Einschränkungen:
Keine Bildskalierung - Da im Kalender Backend keine Bildgröße für die Vorschau festgelegt werden kann, entspricht die Bildausgabe den original Dimensionen des in der Dateizentrale hochgeladenen Bildes. Im Moment muss also schon vor dem hochladen die Bildgröße entsprechend auf das gewünschte Ausgabeformat angepasst werden.
Keine Bildunterzeile (ALT - TAG) - Die Bildunterzeile wird zur Zeit noch nicht beachtet, der ALT-TAG is somit noch leer.
Keine Vergrößerung / Lightbox - Da im Backend kein Vorschaubild erstellt wird, habe ich auch keinen Link für die Lightbox erstellt.
So, ich hoffe es funktioniert bei euch soweit. Getestet habe ich es unter 1.3.9 R240.
http://forum.phpwcms.org/viewtopic.php?p=107258#p107258
Leider ist diese Art der “Bildholung” überhaupt nicht zu empfehlen!
Im System existiert eine universelle Methode, jedes Bild in der auch immer gewünschten Größe/Ausgabeformat zu erhalten.
→ Bilder über cmsimage.php einbinden
Alternativ können Bilder aus der Dateizentrale auch über den img Tag in das Dokument geholt werden.
Siehe Tag: imgx