Frage zum Modul Kalender/Events

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Frage zum Modul Kalender/Events

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

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi »

Das Beispiel habe ich mittels Google Kalender umgesetzt. Die Lösung ist nicht frei verfügbar.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 »

Danke für die Antwort. Gibt es einen Weg so was in der Art mit "Bordmitteln" umzusetzen?
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Modul Kalender/Events

Post 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>
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Frage zum Modul Kalender/Events

Post by update »

Da gehört sicher auch eine Renderdatei dazu... ;)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi »

Sollte nicht.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post 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
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 »

Hallo,

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

Viele Grüße,

Malte
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Modul Kalender/Events

Post 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…
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

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

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi »

das war kundenspezifischer Code, den müsste ich erst bereinigen. Und wie gesagt, das kostet Zeit…
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post 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!
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post 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']);
}
?>
hurgelwurz666
Posts: 11
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post 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
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Frage zum Modul Kalender/Events

Post 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.
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
Post Reply