Kalender in Vers. 1.3.9

Hier bekommst Du deutschsprachigen Support bezüglich offizieller Module für phpwcms. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Trikerdaniel

Re: Kalender in Vers. 1.3.9

Post by Trikerdaniel »

Einfach Genial
Danke
coma2205
Posts: 18
Joined: Fri 28. Dec 2007, 00:14

Re: Kalender in Vers. 1.3.9

Post 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?
strandel
Posts: 50
Joined: Sun 2. May 2004, 22:45

Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])

Post by strandel »

Bei wird die Variable [IMAGE_CALENDAR] auf der Website nicht mit einem Bild angezeigt. Woran könnte dies liegen?
Gruss Hans
User avatar
juergen
Moderator
Posts: 4554
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Kalender in Vers. 1.3.9

Post 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 ;)
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])

Post 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.
...
User avatar
juergen
Moderator
Posts: 4554
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Kalender in Vers. 1.3.9

Post by juergen »

..und wieder nix fürs Niveau ;)
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Kalender in Vers. 1.3.9

Post by Cipolla »

DF6IH wrote:..und wieder nix fürs Niveau ;)
Jürgen, klär mich doch mal bitte auf :?:
...
nehemia
Posts: 118
Joined: Mon 11. Sep 2006, 21:19
Location: Fürth
Contact:

Re: Kalender in Vers. 1.3.9 ([IMAGE_CALENDAR])

Post 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! :D
Gruß, Martin
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Kalender in Vers. 1.3.9

Post by flip-flop »

Bei mir in einer absolut frischen r246 nicht, sehr komisch. :?:

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
nehemia
Posts: 118
Joined: Mon 11. Sep 2006, 21:19
Location: Fürth
Contact:

Re: Kalender in Vers. 1.3.9

Post 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
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Kalender in Vers. 1.3.9

Post 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ß
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
nehemia
Posts: 118
Joined: Mon 11. Sep 2006, 21:19
Location: Fürth
Contact:

Re: Kalender in Vers. 1.3.9

Post by nehemia »

Vielleicht hab ich ja was mißverstanden...! :? Ich probier noch mal.
Gruß
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Kalender in Vers. 1.3.9

Post by Cipolla »

nehemia wrote: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
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.
...
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Kalender in Vers. 1.3.9

Post 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.
...
User avatar
Oliver Georgi
Site Admin
Posts: 9703
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: Kalender in Vers. 1.3.9

Post 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
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Post Reply