Page 1 of 2

Frage zum Modul Kalender/Events

Posted: Tue 3. Jul 2018, 12:47
by hurgelwurz666
Hallo,

ich bin gerade dabei einen Kalender unter Verwendung des Moduls Kalender/Events umzusetzen.
Ich habe dazu die Informationen aus diesem Wiki verwendet:
https://wiki.phpwcms.org/doku.php/deuts ... e/kalender
Es funktioniert soweit alles, ich kann die Events nach tags sortiert anzeigen etc..

Ich hätte jedoch gerne zusätzlich eine Seite auf der sich die Besucher Monat für Monat durch den Kalender klicken können und jeweils die Einträge für den Monat angezeigt bekommen. Mit der Suche habe ich hier im Forum den Verweis diese Seite gefunden:
http://www.verwaltungs-management.de/in ... cal=2018-7
Im Prinzip benötige ich genau das. Ich finde nur keine Infos wie man das mit dem Modul umsetzt (oder ich blicke die gefundenen Informationen nicht ;) ).

Ich würde mich über Tipps freuen.

Viele Grüße,

Malte

Re: Frage zum Modul Kalender/Events

Posted: Tue 3. Jul 2018, 19:03
by Oliver Georgi
Das Beispiel habe ich mittels Google Kalender umgesetzt. Die Lösung ist nicht frei verfügbar.

Re: Frage zum Modul Kalender/Events

Posted: Tue 3. Jul 2018, 20:35
by hurgelwurz666
Danke für die Antwort. Gibt es einen Weg so was in der Art mit "Bordmitteln" umzusetzen?

Re: Frage zum Modul Kalender/Events

Posted: Wed 4. Jul 2018, 04:35
by Oliver Georgi
Ja und Nein, Kalender sind und bleiben meist eine recht individuelle Angelegenheit. Siehe z.B. https://www.bauhaus-dessau.de/de/kalender.html

Der ist mit Bordmitteln realisiert.

Hier das exemplarische Snippet eines CP HTML:

Code: Select all

<div class="span6 calendar clearfix">
	<div class="calendar-prevnext clearfix">
		{CALENDAR_PREVNEXT}
		<span class="h1">{CALENDAR_PERIOD}</span>
	</div>
</div>
<div class="span6 calendar-list" id="calendar-list">
{CALENDAR:
	items=50
	template=list.html
	lang=de
	tagmode=OR
	href=de/bauhaus-besuchen/kalender.html
	date_start=MONTHSTART
	date_end=MONTHEND
	gettype=" / "
	teaserwords=30
	expired=BOTTOM
	expired_date=END
	expired_prefix=<div class="calendar-outdated"><h3>Abgelaufene Termine</h3></div>
}
</div>

Re: Frage zum Modul Kalender/Events

Posted: Fri 6. Jul 2018, 15:58
by update
Da gehört sicher auch eine Renderdatei dazu... ;)

Re: Frage zum Modul Kalender/Events

Posted: Sun 8. Jul 2018, 11:09
by Oliver Georgi
Sollte nicht.

Re: Frage zum Modul Kalender/Events

Posted: Mon 23. Jul 2018, 09:52
by hurgelwurz666
Hallo,

vielen Dank für die Antwort. Ich konnte mich erst jetzt weiter damit beschäftigen. Im Prinzip ist das genau das was ich benötige.

Leider funktionieren bei mir die Tags {CALENDAR_PREVNEXT} {CALENDAR_PERIOD} nicht. Sie werden einfach nur als Text auf der Seite angezeigt.
Ich verwende zum testen phpwcms 1.9.0-rc.2 (2017/11/29, r549).

Für den Test habe ich das Beispiel von oben übernommen und als HTML-Contentpart eingefügt. Die einzigen Änderungen waren:

Code: Select all

template=calendar_inhalt.html
lang=
Ich habe unter /template/inc_script/frontend_render die Datei init_calendar.php abgelegt, die ich von hier übernommen habe:
https://wiki.phpwcms.org/doku.php/deuts ... e/kalender

Code: Select all

<?php
/*************************************************************************************
   Copyright notice
 
   (c) 2002-2008 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
 
This script is part of PHPWCMS. The PHPWCMS web content management system is
free software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
 
The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
A copy is found in the textfile GPL.txt and important notices to the license
from the author is found in LICENSE.txt distributed with these scripts.
 
This script is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
This copyright notice MUST APPEAR in all copies of the script!
*************************************************************************************/
// ----------------------------------------------------------------
// OBLIGATE CHECK FOR PHPWCMS CONSTANTS
if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day.");}
// ----------------------------------------------------------------
 
 
/**
 * Usage: sample Replacement Tag
 *
 * {CALENDAR:
 *    items=100
 *    template=dates_list_de.html
 *    lang=de
 *    tag=tag1, tag2
 *    tagmode=OR
 *    date_start=TODAY|01.01.2009
 *     date_end=TODAY|31.12.2010
 *    href=index.php?calendar
 *    WxHxCxQ=150x100x0x80       (since V1.1)
 * }
 *
 * OR
 *
 * {CALENDAR:2,main_page.tmpl,de en, href, tag1, tag2 tag2, tag3}
 * [item count,[template[,language(en de - separated by space)[, href, tags, tag, tag, tag]]]]
 *
 * (Please use the first Replacement Tag method)
 *
 **/
 
if(strpos($content['all'], '{CALENDAR:')) {
 
    $GLOBALS['block']['css']['calendar'] = 'specific/calendar.css'; // +kh: including the css file
 
    include('include/inc_module/mod_calendar/inc/calendar.class.php');
 
    $myCal = & new phpwcmsCalendar();
    $myCal->parse($content['all']);
 
}
 
?>
Ich hatte zuerst die Datei calendar.php von
/template/inc_script/frontend_render/disabled
nach
/template/inc_script/frontend_render/
kopiert.
Damit hat aber der RT {CALENDAR} nicht funktioniert. Aus diesem Grund habe ich auf die init_calendar.php zurückgegriffen, mit der es dann funktioniert hat. Ich vermute mal, dass da das Problem liegt.

Ich würde mich über weitere Hilfe freuen! Falls weitere Informationen benötigt werden einfach melden.

Viele Grüße,

Malte

Re: Frage zum Modul Kalender/Events

Posted: Mon 27. Aug 2018, 14:16
by hurgelwurz666
Hallo,

ich würde mich nach wie vor über Hilfe zu diesem Thema freuen.

Viele Grüße,

Malte

Re: Frage zum Modul Kalender/Events

Posted: Tue 28. Aug 2018, 11:49
by Oliver Georgi
Habe noch mal recherchiert und muss "Sorry" sagen. Das ist dann doch etwas Custom, eben für das Bauhaus seinerzeit geschrieben worden. Müsste ich erst umschreiben und entsprechend anpassen. Dafür fehlt mir aber wie immer die Zeit…

Re: Frage zum Modul Kalender/Events

Posted: Tue 28. Aug 2018, 13:41
by hurgelwurz666
Hallo, danke für die Antwort! Könnte ich eventuell den Code von damals als Vorlage haben? Vielleicht kann ich die entsprechenden Anpassungen selbst vornehmen.

Re: Frage zum Modul Kalender/Events

Posted: Tue 28. Aug 2018, 13:51
by Oliver Georgi
das war kundenspezifischer Code, den müsste ich erst bereinigen. Und wie gesagt, das kostet Zeit…

Re: Frage zum Modul Kalender/Events

Posted: Tue 28. Aug 2018, 14:18
by hurgelwurz666
Da es für mich eine sehr große Erleichterung wäre, wenn ich diese Funktion hätte kann ich mir auch vorstellen für die Änderung zu bezahlen. Das hilft natürlich nicht wenn die Zeit fehlt aber falls es interessant ist, bitte einfach eine PN mit den ungefähren Kosten an mich schicken.
Ansonsten vielen Dank für die Unterstützung bis hier hin und dafür, dass PHPWCMS schon so lange von dir weiterentwickelt wird!

Re: Frage zum Modul Kalender/Events

Posted: Sun 2. Sep 2018, 19:31
by hurgelwurz666
OK, nachdem ich geblickt hatte, dass tatsächlich nur die Renderdatei fehlte, die die entsprechenden Links mit dem jeweiligen Start und Endsatum erzeugt habe ich selber etwas gebastelt. Der Code ist kein Kunstwerk (was man so an einem Sonntag Nachmittag hinfriemeln kann) aber es funktioniert. Ich poste hier mal meinen bisherigen Stand, falls noch einmal jemand das gleiche Problem hat.

Code: Select all

<?php
// ----------------------------------------------------------------
// OBLIGATE CHECK FOR PHPWCMS CONSTANTS
if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day.");}
// ----------------------------------------------------------------

$cal_url = "kalender.html";

 
//Funktionen für Scrollen durch Kalender
	//Einen Monat zurueck
	function monthBack( $timestamp ){
		return mktime(0,0,0, date("m",$timestamp)-1,date("d",$timestamp),date("Y",$timestamp) );
	}
	
	//Einen Monat vor
	function monthForward( $timestamp ){
		return mktime(0,0,0, date("m",$timestamp)+1,date("d",$timestamp),date("Y",$timestamp) );
	}
	
	//Den ersten Tag eines Monats ermitteln
	function firstday($timestamp){
		return mktime (0,0,0,date("m",$timestamp),+1,date("y",$timestamp));
	}
	
	//Den letzten Tag eines Monats ermitteln
	function lastday($timestamp){
		return mktime (0,0,0,date("m",$timestamp)+1,0,date("y",$timestamp));
	}
	
	//Titel erstellen
	function maketitle($timestamp){
		$monate = array(1=>"Januar",
                2=>"Februar",
                3=>"M&auml;rz",
                4=>"April",
                5=>"Mai",
                6=>"Juni",
                7=>"Juli",
                8=>"August",
                9=>"September",
                10=>"Oktober",
                11=>"November",
                12=>"Dezember");
		$monat = date("n",$timestamp);
		$title = $monate[$monat];
		$title .= "&nbsp;";
		$title .= date("Y",$timestamp);
		return $title;
	}
	
	//Zeitstempel ermitteln
	function gettimestamp($timevar){
		if (preg_match('|^\d{4}\-\d{2}\-\d{2}$|',$_GET["$timevar"])){
			return strtotime($_GET["$timevar"]);
		}else{
			return mktime();
		}
	}
	
//Ausgabe für RT CALENDAR_PREVNEXT	
if(strpos($content['all'], '{CALENDAR_PREVNEXT}')) {
	
	$timestamp = gettimestamp("pcal_start");

	//Ausgabe
	$replace = "<div class=\"calendar-prevnext-links\">";
	$replace .= "<a href=\"$cal_url?pcal_start=" . date("Y-m-d",firstday(monthBack($timestamp))) . "&amp;pcal_end=" . date("Y-m-d",lastday(monthBack($timestamp))) . "\"" . "title=\"" . maketitle(monthBack($timestamp)) . "\">&lt;&lt;</a>";
	$replace .= "<a href=\"$cal_url?pcal_start=" . date("Y-m-d",firstday(monthForward($timestamp))) . "&amp;pcal_end=" . date("Y-m-d",lastday(monthForward($timestamp))) . "\"" . "title=\"" . maketitle(monthForward($timestamp)) . "\">&gt;&gt;</a>";
	$replace .= "</div>";
    $content['all'] = str_replace('{CALENDAR_PREVNEXT}',$replace,$content['all']);
}

//Ausgabe für RT CALENDAR_PERIOD
if(strpos($content['all'], '{CALENDAR_PERIOD}')) {
	
	$timestamp = gettimestamp("pcal_start");
	
	$replace = "<div class=\"calendar-prevnext-title\"><h2>" . maketitle($timestamp) . "</h2></div>";
	$content['all'] = str_replace('{CALENDAR_PERIOD}',$replace,$content['all']);
}
?>

Re: Frage zum Modul Kalender/Events

Posted: Wed 16. Jan 2019, 22:02
by hurgelwurz666
Noch ein kleiner Nachtrag. Vielleicht spart es irgendjemand die Nerven, die es mich heute gekostet hat ;).
Die GET-Variablen müssen hier in der config.inc.php eingetragen werden:

Code: Select all

$phpwcms['unregister_getVar']   = array('pcal_start','pcal_end');
Sonst kann es in bestimmten Fällen zu komischem Verhalten kommen, weil die Variablen jedem Link mit übergeben werden. :D

Re: Frage zum Modul Kalender/Events

Posted: Tue 19. Mar 2019, 03:00
by Jensensen
Dazu habe ich jetzt auch Fragen:

Ich sitze vor einer älteren, aber auf die neueste 1.9-DEV aktualisierte Installation. Dort dort gibt es [noch] das Modul calendar/events? Ist das noch aktuell? Oder ist das ein Überbleibsel? Denn, ich finde keine Templates, keine Infos zu --> Replacement Tags - weder auf der Doku, noch im wiki.
Ich kann auch auf keiner Seite einen --> CP --> contenpart --> Kalender einfügen?!

Leider funktioniert das Modul cmCalendar nicht mehr (unter php7.x), oder doch?
Kalender wurde zuvor / bislang mit cmCalendar bedient.

Wie bekomme ich denn nun einen Kalender in die Seite??
Dabei möchte ich aber nicht, wie @hurgelwurz666, das inzwischen auch reichlich veraltete Zeugs von unserem unvergessenen @flip-flop
https://wiki.phpwcms.org/doku.php/deuts ... e/kalender
verwenden.