qcal 1.0.6 in phpwcms 1.3.3 - Tutorial

If you have created additional (non official) documentation or tutorials or something like that please post this here
Post Reply
nehemia
Posts: 118
Joined: Mon 11. Sep 2006, 21:19
Location: Fürth
Contact:

qcal 1.0.6 in phpwcms 1.3.3 - Tutorial

Post by nehemia »

Nachdem es mir nach langem Hin und Her endlich gelungen ist, den qcal 1.0.6 unter phpwcms 1.3.3 zu installieren, hier nun mein Versuch für ein Tutorial:

1. Herunterladen von qcal 1.0.6 von hier: http://www.ikfrej.se/?downloads

2. Entpacken der heruntergeladenen Dateien und Datei readme1.0.6.txt genau lesen und der Reihe nach abarbeiten. Bitte beachten, dass für phpwcms 1.3.3 einige Schritte zu überspringen sind.

3. Nachdem alle Schritte abgearbeitet sind, In der Datei .../include/inc_module/mod_qcal/module.default.php folgendes anfügen:

Code: Select all

// simple switch to allow fe render or fe init
// für phpwcms 1.3.3 nötig! // Quelle: http://www.phpwcms.de/forum/viewtopic.php?p=85859#85859
$_module_fe_render      = true;
$_module_fe_init        = true;
4. Bitte in der Datei .../include/inc_module/mod_qcal/inc_lib/QCalendarAdmin.php folgenden

Code: Select all

$buttons = "<span class='qheaderbuttons'>";
$buttons .= "<a href='javascript:;' onclick='editEvent(".$val['id'].")' name='anchorEditEvent' id='anchorEditEvent".$val['id']."' class='editButton' title='".$this->lang["edit_button"]."'><img src=\"/img/button/edit_22x13.gif\" style=\"border:none;\" /></a>";
$buttons .= "<a href='javascript:;' onclick='copyEvent(".$val['id'].")' name='anchorCopyEvent' id='anchorCopyEvent".$val['id']."' class='copyButton' title='".$this->lang["copy_button"]."'><img src=\"/img/button/copy_11x11_2.gif\" style=\"border:none;\" /></a>";
$buttons .= "<a href='javascript:;' onclick='moveEvent(".$val['id'].")' name='anchorMoveEvent' id='anchorMoveEvent".$val['id']."' class='moveButton' title='".$this->lang["move_button"]."'><img src=\"/img/button/cut_13x13_0.gif\" style=\"border:none;\" /></a>";
$buttons .= "<a href='javascript:;' name='anchorDelEvent' id='anchorDelEvent".$val['id']."' onclick='if(confirm(\"".$this->lang["confirm_delete"]."\")) {delEvent(".$val['id'].");}'  class='delButton' title='".$this->lang["del_button"]."'><img src=\"/img/button/trash_13x13_1.gif\" style=\"border:none;\" /></a>";
$buttons .= "</span>";
durch diesen

Code: Select all

$buttons = "<span class='qheaderbuttons'>";
$buttons .= "<a href='javascript:;' onclick='editEvent(".$val['id'].")' name='anchorEditEvent' id='anchorEditEvent".$val['id']."' class='editButton' title='".$this->lang["edit_button"]."'>edit</a>";
$buttons .= "<a href='javascript:;' onclick='copyEvent(".$val['id'].")' name='anchorCopyEvent' id='anchorCopyEvent".$val['id']."' class='copyButton' title='".$this->lang["copy_button"]."'>copy</a>";
$buttons .= "<a href='javascript:;' onclick='moveEvent(".$val['id'].")' name='anchorMoveEvent' id='anchorMoveEvent".$val['id']."' class='moveButton' title='".$this->lang["move_button"]."'>move</a>";
$buttons .= "<a href='javascript:;' name='anchorDelEvent' id='anchorDelEvent".$val['id']."' onclick='if(confirm(\"".$this->lang["confirm_delete"]."\")) {delEvent(".$val['id'].");}'  class='delButton' title='".$this->lang["del_button"]."'>del</a>";
$buttons .= "</span>";
ersetzen.

5. Wahrscheinlich wird man auch die 'qheaderbuttons class' in der Datei .../include/inc_module/mod_qcal/inc_front/themes/qcalendar.css ändern müssen.

6. Anwendung:
{QCAL[:calendar_id:lang_id:main_template:event_template:css}

Erläuterung: Die eckige Klammern hat hier nur die Funktion, dass der Code dargestellt wird. Wird sie im Dokument entfernt, wird der Code sofort umgesetzt und ein Kalender dargestellt!
  • calender_id = die ID-Nr. des jeweiligen Kalenders. Jeder Kalender erhält eine eigene ID-Nr., wobei „0 = alle Kalender“ vorgegeben ist (z.B. 1 = Veranstaltungen, 2 = Geschäftl. Termine, etc.).

    lang_id = die ID-Bez. der Sprache (z.B. en = Englisch, de = Deutsch, etc.)

    main_template = die Hauptvorlagendatei. Sie befindet sich im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/ Sie ist die Datei, die durch das in ihr enthaltene Replacement Tag (=RT) die Darstellung des Events im Frontend ermöglicht (z.B. habe ich eine Datei erstellt, die das RT {EVENTS} beinhaltet. Diese Datei bewirkt nur, dass die Termine aufgelistet werden). Ich habe sie daher events.tmpl benannt. Selbstverständlich wäre irgendein anderer Name hier möglich, solange er nur die Endung *.tmpl hat.

    event_template = die Vorlagendatei, auf die durch das RT zurückgegriffen wird. Auch sie befindet sich im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/ Sie ist die Datei, die veranlasst, dass das Event näher beschrieben ausgegeben wird nach Datum, Termin, Zeitpunkt, Ort, Beschreibung (z.B. habe ich eine Datei mit dem Namen events.beschreibung.tmpl erstellt). Selbstverständlich wäre auch hier irgendein anderer Name hier möglich, solange er nur die Endung *.tmpl hat.

    css = bleibt vorerst noch außer Acht.

7. Anwendungsbeispiele:

// 1. Monatskalender mit Events aus allen Kalendern zeigen (Standardeinstellung):
{QCAL[} oder {QCAL[:0}
=====================
// 1. Monatskalender mit Events aus Kalender mit der ID 1 zeigen
{QCAL[:1}
=====================
// 1. Monatskalender mit Events aus Kalender mit der ID 1 zeigen,
// 2. Einstellung 'englische Sprache':
{QCAL[:1[:en}
=====================
// 1. Monatskalender mit Events aus Kalender mit der ID 1 zeigen,
// 2. Einstellung 'deutsche Sprache',
// 3. Im Verzeichnis .../include/inc_module/mod_qcal/inc_tmpl/ die Datei
// default.tmpl.php als die Hauptvorlagendatei. Schauen Sie bitte im Verzeichnis
// .../include/inc_module/mod_qcal/inc_front/tmpl/ wegen Beispielvorlagen nach:
{QCAL[:1:de:default.tmpl.php}

oder

// 1. Monatskalender mit Events aus Kalender mit der ID 1 zeigen,
// 2. Einstellung 'deutsche Sprache',
// 3. Im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/ die Datei
// default.cal.tmpl oder auch month.tmpl als die Hauptvorlagendatei. Schauen
// Sie bitte im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/
// wegen Beispielvorlagen nach:
{QCAL[:1:de:default.cal.tmpl}

Offensichtlich sind beide Variationen möglich!
=====================
// 1. Monatskalender mit Events aus Kalender mit der ID 2 zeigen,
// 2. Einstellung 'deutsche Sprache',
// 3. Im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/ die Datei
// default.cal.tmpl oder auch month.tmpl, events.tmpl oder month.events.tmpl
// als die Hauptvorlagendatei.
// 4. Weiter im Verzeichnis .../include/inc_module/mod_qcal/inc_front/tmpl/
// die Datei event.beschreibung.tmpl als Ihre Eventvorlagen-Datei.
// Wegen Beispielvorlagen schauen Sie bitte im Verzeichnis
// .../include/inc_module/mod_qcal/inc_front/tmpl/ nach.
{QCAL[:2:de:events.tmpl:event.beschreibung2.tmpl}
=====================
oder
{QCAL[:2:de:events.tmpl:event.beschreibung1.tmpl}
=====================
oder
{QCAL[:2:de:month.events.tmpl:event.beschreibung1.tmpl}
=====================
oder
{QCAL[:2:de:month.events2.tmpl:event.beschreibung1.tmpl}

8. Dateien:
Datei default.cal.tmpl und month.tmpl

Code: Select all

{MONTH}
Datei event.beschreibung1.tmpl

Code: Select all

<div id="calEvent">
<span class="calEventDayDetail"><b><i><u>{DAY}.</u></i></b> {TITLE}</span>
<div class="calEventFieldDetail"><b>Uhrzeit:</b> {TIME} Uhr</div>
<div class="calEventFieldDetail"><b>Ort:</b> {LOCATION}</div>
<div class="calEventFieldDetail"><b>Beschreibung:</b> {DESCRIPTION}</div>
</div><br />
Datei event.beschreibung2.tmpl

Code: Select all

<div id="calEvent">
<span class="calEventDayDetail">{DAY}. {TITLE}</span>
<div class="calEventFieldDetail">Wann: {TIME}</div>
<div class="calEventFieldDetail">Wo: <b>{LOCATION}</b></div>
<div class="calEventFieldDetail">Was: {DESCRIPTION}</div>
</div><br />
Datei events.tmpl

Code: Select all

{EVENTS}
Datei month.events.tmpl

Code: Select all

{MONTH}
<br/><br/>
{EVENTS}
Datei month.events2.tmpl

Code: Select all

<table border="0" cellpadding="10" cellspacing="0">
   <tr>
      <td valign="top" width="500px">
         <div id="eventsList">
         {EVENTS}
         </div>
      </td>
      <td valign="top" width="300px">
         <div id="eventsCalendar">
         {MONTH}
         </div>
      </td>
   </tr>
</table>
9. Viel Spaß mit dem neuen Kalendermodul,
Martin
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Das hört sich äußest interessant an...

Habe ich ggf. eine URL mit funktionierendem Beispiel in phpWCMS übersehen?

Wäre toll, das vorher mal sehen zu können :wink:
nehemia
Posts: 118
Joined: Mon 11. Sep 2006, 21:19
Location: Fürth
Contact:

Post by nehemia »

Habe bisher leider nur eine lokale Installation (aber die funktioniert tatsächlich!), da ich noch Datenbank-Probleme auf meinem externen Server habe. Bin aber daran, das geregelt zu bekommen. Da ja nun heute mittlerweile die Version qcal 1.0.7 online gegangen ist, werde ich auch erst mal sehen, wie ich die neue Version installiert bekomme.
prisma
Posts: 39
Joined: Sun 12. Dec 2004, 18:19
Location: CH-Sils im Domleschg

Post by prisma »

nehemia wrote:Habe bisher leider nur eine lokale Installation (aber die funktioniert tatsächlich!), da ich noch Datenbank-Probleme auf meinem externen Server habe. Bin aber daran, das geregelt zu bekommen. Da ja nun heute mittlerweile die Version qcal 1.0.7 online gegangen ist, werde ich auch erst mal sehen, wie ich die neue Version installiert bekomme.
Hallo nehemia,

ich habe folgendes Problem:

Code: Select all

Warning: Wrong parameter count for substr() in ../include/inc_module/mod_qcal/inc_lib/QCalendarAdmin.php on line 114

Warning: htmlentities() [function.htmlentities]: charset `3' not supported, assuming iso-8859-1 in ../include/inc_module/mod_qcal/inc_lib/QCalendarAdmin.php on line 114
Leider kenne ich mich mit den mysql zuwenig aus. Ich habe bei mit utf8, wie die Installation eigentlich auch verlangt.
Wenn ich mit phpmyadmin aber sehe, sind die beiden phpwcms_cm_categorie und phpwcms_events mit latin1_swedish_ci statt mit utf8_general_ci reingestellt. Was muss ich anders in die install.sql reinschreiben, dass es funktioniert?

Gruss prisma
prisma
Posts: 39
Joined: Sun 12. Dec 2004, 18:19
Location: CH-Sils im Domleschg

Fehler behoben, wie im englischen Support unter Hacks

Post by prisma »

Hallo,

der Fehler ist in include/inc_module/mod_qcal/inc_lib/QCalendarAdmin.php in Zeile 114

Code: Select all

statt 
		<th class='qheader'><a href=\"javascript:;\" onclick=\"displayQCalendar('$nextMonth','$lYear','".$GLOBALS['qcal']['ajaxAdminPath']."',".$this->category.", true,'".$this->langId."','".$this->css."')\" class='qheaderNav' title='".htmlentities(substr($this->monthNames[$nextMonth-1]), 0, 3)."'>></a>&nbsp;</th>
muss sein:
		<th class='qheader'><a href=\"javascript:;\" onclick=\"displayQCalendar('$nextMonth','$lYear','".$GLOBALS['qcal']['ajaxAdminPath']."',".$this->category.", true,'".$this->langId."','".$this->css."')\" class='qheaderNav' title='".htmlentities(substr($this->monthNames[$nextMonth-1], 0, 3))."'>></a>&nbsp;</th>
dann funktioniert es einwandfrei in der Version 1.3.3

Gruss prisma
MrPotter
Posts: 22
Joined: Tue 10. Oct 2006, 10:33

Post by MrPotter »

Mhm, also installiert und zum laufen habe ich alles bekommen. Bin auch dem Tutorial von nehemia gefolgt, aber die Buttons werden im Front- und Backend trotzdem nicht dargestellt.

Was ist mit schritt 5 gemeint? Soll ich da im css den Abstand ändern? Wie soll das aussehen?

Liebe Grüße und danke
MrPotter
Post Reply