Frage zum Modul Kalender/Events

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

Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Tue 3. Jul 2018, 12:47

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: 9482
Joined: Fri 3. Oct 2003, 22:22
Location: Dessau
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi » Tue 3. Jul 2018, 19:03

Das Beispiel habe ich mittels Google Kalender umgesetzt. Die Lösung ist nicht frei verfügbar.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Kleintierpraxis am Georgengarten

hurgelwurz666
Posts: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Tue 3. Jul 2018, 20:35

Danke für die Antwort. Gibt es einen Weg so was in der Art mit "Bordmitteln" umzusetzen?

User avatar
Oliver Georgi
Site Admin
Posts: 9482
Joined: Fri 3. Oct 2003, 22:22
Location: Dessau
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi » Wed 4. Jul 2018, 04:35

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 | Kleintierpraxis am Georgengarten

User avatar
update
Moderator
Posts: 6380
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Frage zum Modul Kalender/Events

Post by update » Fri 6. Jul 2018, 15:58

Da gehört sicher auch eine Renderdatei dazu... ;)
It's mostly all about webdesign, logo design, new and old pages refresh, print BUT slowly switching to be supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.

User avatar
Oliver Georgi
Site Admin
Posts: 9482
Joined: Fri 3. Oct 2003, 22:22
Location: Dessau
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi » Sun 8. Jul 2018, 11:09

Sollte nicht.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Kleintierpraxis am Georgengarten

hurgelwurz666
Posts: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Mon 23. Jul 2018, 09:52

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: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Mon 27. Aug 2018, 14:16

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: 9482
Joined: Fri 3. Oct 2003, 22:22
Location: Dessau
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi » Tue 28. Aug 2018, 11:49

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 | Kleintierpraxis am Georgengarten

hurgelwurz666
Posts: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Tue 28. Aug 2018, 13:41

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: 9482
Joined: Fri 3. Oct 2003, 22:22
Location: Dessau
Contact:

Re: Frage zum Modul Kalender/Events

Post by Oliver Georgi » Tue 28. Aug 2018, 13:51

das war kundenspezifischer Code, den müsste ich erst bereinigen. Und wie gesagt, das kostet Zeit…
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Kleintierpraxis am Georgengarten

hurgelwurz666
Posts: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Tue 28. Aug 2018, 14:18

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: 10
Joined: Mon 1. Feb 2010, 21:12

Re: Frage zum Modul Kalender/Events

Post by hurgelwurz666 » Sun 2. Sep 2018, 19:31

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']);
}
?>

Post Reply