Page 3 of 7
Re: Kalender in Vers. 1.3.9
Posted: Thu 31. Jul 2008, 15:42
by Trikerdaniel
Einfach Genial
Danke
Re: Kalender in Vers. 1.3.9
Posted: Thu 31. Jul 2008, 21:58
by coma2205
wo wir grad mal dabei sind,
hat jemand gefunden wie man einstellen kann, dass die termine erst nach dem enddatum nicht mehr angezeigt werden?
Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])
Posted: Fri 1. Aug 2008, 15:15
by strandel
Bei wird die Variable [IMAGE_CALENDAR] auf der Website nicht mit einem Bild angezeigt. Woran könnte dies liegen?
Gruss Hans
Re: Kalender in Vers. 1.3.9
Posted: Fri 1. Aug 2008, 15:29
by juergen
Der allerwahrscheinlichste Ansatz wäre, dass eine solche Ersetzung (es ist keine Variable) in der von mir dursuchten Version 240 überhaupt nicht enthalten ist.
Es gilt der Ansatz: Gibt's nicht -> geht's auch nicht
Re: Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])
Posted: Fri 1. Aug 2008, 17:32
by Cipolla
strandel wrote:Bei wird die Variable [IMAGE_CALENDAR] auf der Website nicht mit einem Bild angezeigt. Woran könnte dies liegen?
Gruss Hans
Sorry, das stand noch in meinem Template drinn. In der class von Olli wird das Bild noch nicht behandelt, ich habe mir die
phpwcmsCalendar.class.php
erweitert, so dass die bilder aus der Datenbank ausgelesen werden und im Template durch den Platzhalter [IMAGE_CALENDAR] angezeigt werden. Ich habe das für einen Kunden programmiert. Aus bereits benannten Gründen stelle ich die modifizierte class aber nicht online, sorry.
Re: Kalender in Vers. 1.3.9
Posted: Fri 1. Aug 2008, 18:53
by juergen
..und wieder nix fürs Niveau
Re: Kalender in Vers. 1.3.9
Posted: Fri 1. Aug 2008, 19:23
by Cipolla
DF6IH wrote:..und wieder nix fürs Niveau
Jürgen, klär mich doch mal bitte auf
Re: Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])
Posted: Sat 2. Aug 2008, 20:43
by nehemia
Liebe Leute,
ich habe rumprobiert nach dem Motto "Versuch und Irrtum". Das mit dem Einfügen von Bildern in den Kalender könnte folgendermaßen funktionieren:
Um ein Bild aus dem Kalender-WYSIWYG-Editor im Frontend anzuzeigen ist analog wie oben eine Ergänzung von zwei Dateien nötig:
In der Datei phpwcmsCalendar.class.php ab Zeile 105 (\template\inc_script)
Code: Select all
$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']);
bitte das Folgende einfügen:
Code: Select all
$items[$key] = render_cnt_template($items[$key], 'IMAGE_CALENDAR', $date['calendar_image']);
IMAGE_CALENDAR ist hier der Platzhalter der in das Template kommt (bzw. ja bereits im Template von Cipolla enthalten ist):
Nochmal das Beispiel-Template:
Code: Select all
<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>
Bitte ausprobieren, ob's bei Euch funktioniert. Bei mir hat's geklappt!
Gruß, Martin
Re: Kalender in Vers. 1.3.9
Posted: Sun 3. Aug 2008, 09:35
by flip-flop
Bei mir in einer absolut frischen r246 nicht, sehr komisch.
Knut
Re: Kalender in Vers. 1.3.9
Posted: Sun 3. Aug 2008, 13:24
by nehemia
Also, ich habe jetzt gerade die r246 installiert und das gleiche Procedere nochmal durchgeführt. Und es haut immer noch hin! Der momentane Link zum Ansehen:
http://mg888.bplaced.net/trunk246/index.php?kalender
Gruß, Martin
Re: Kalender in Vers. 1.3.9
Posted: Sun 3. Aug 2008, 14:02
by flip-flop
Also du wählst aus der Dateizentrale ein Bild und bekommst diese Darstellung? Das glaube ich nicht.
Um ein Bild aus dem FCK-Editor zu generieren braucht es den Tag IMAGE_CALENDAR überhuapt nicht.
Gruß
Re: Kalender in Vers. 1.3.9
Posted: Sun 3. Aug 2008, 16:18
by nehemia
Vielleicht hab ich ja was mißverstanden...!
Ich probier noch mal.
Gruß
Re: Kalender in Vers. 1.3.9
Posted: Sun 3. Aug 2008, 18:38
by Cipolla
Martin,
ich müsste mich ziemlich täuschen, aber das bild stammt ganz klar nicht aus der Datenbank, sondern wurde per wysiwyg-editor eingebunden.
Die bilder aus der datenbank liegen nicht als realer bildname vor, sondern werden als hash abgelegt.das array calendar_image wird in dieser form auch nicht in der class behandelt, oder ich habe da was übersehen.
wie dem auch sei, ich werde morgen früh wenn ich im büro bin die ergänzte php class hier posten. Damit wird das bild, das im kalender-backend ausgewählt wurde aus der datenbank ausgelesen und an der stelle von [IMAGE_CALENDAR] ausgegeben.
Re: Kalender in Vers. 1.3.9
Posted: Mon 4. Aug 2008, 11:14
by Cipolla
So, wie versprochen hier die Erweiterung zur Darstellung der Bilder im Kalender:
In der Datei phpwcmsCalendar.class.php ab Zeile 105 (\template\inc_script)
Code: Select all
$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']);
Einfügen:
Code: Select all
/**
* 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.
Re: Kalender in Vers. 1.3.9
Posted: Mon 4. Aug 2008, 18:28
by Oliver Georgi
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.
Code: Select all
<img src="<?=PHPWCMS_URL?>img/cmsimage.php/100x100x1x90/1.jpg" alt="mein Bild mit 100 x 100 Pixel, auf Größe geschnitten und mit Qualität 90 und der File-ID 1 und als JPG geliefert" />
Oliver