ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
mod_calendar

 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Kleine und neue Module
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 30.09.2012 16:13    Titel: mod_calendar Antworten mit Zitat

Da ich nun schon einige Versuche beobachtet habe, bei denen umfangreiche Veranstaltungskalender-Systeme in ConPresso-Auftritten integriert (oder auch nicht) wurden, nur um einen kleinen Kalender abbilden zu können statt einer Terminliste, habe ich ein kleines PHP-Script um die Möglichkeit zum Auslesen von ConPresso-Inhalten erweitert.

Dabei können beliebige Rubriken als Grundlage dienen, die Felder für das Veranstaltungsdatum frei gewählt werden (Meta-Felder oder Content-Textfelder) und das Design mittels CSS angepasst werden.

Das ist nur mal eine Vorschau (daher auch kein Download). Der Kalender funktioniert, nur ist es noch kein Modul, d.h. die Einstellungen geschehen derzeit im Quellcode und nicht über Moduleinstellungen.




Kalender ohne CSS-Formatierung
mod_calendar1.jpg

mod_calendar1.jpg - 15075 mal

Kalender mittels CSS formatiert
mod_calendar2.jpg

mod_calendar2.jpg - 15075 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 04.10.2012 09:49    Titel: Antworten mit Zitat

Klingt sehr interessant. Hast du auch die Möglichkeit bedacht, dass es mehrere Artikel für ein Datum geben kann?
_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 04.10.2012 19:08    Titel: Antworten mit Zitat

Nicht wirklich, dennn ich weiß nicht, wie zwei oder mehr Links auf einem Kalendertag liegen könnten. Das ginge dann nur mit einem JS-Framework.
Vielleicht müßte es eine alternative Verlinkung auf eine Suche statt direkt auf die Artikel geben...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 06.10.2012 12:09    Titel: Antworten mit Zitat

Hier mal eine erste beta-Version.

Es gibt jetzt ein Backend für die Einstellungen.
Außerdem kann man als Zielseite zwischen Rubrik-, Artikel- und einer Suchseite wählen.
Die Suchseite kann man nutzen, wenn man mehr als einen Termin pro Tag hat.

Anwendung: In den Einstellungen gibt man das Feld ein, in dem das Veranstaltungsdatum steht und gibt das Datumsformat an.

Den Kalender kann man nun entweder mittels
Code:
<?php echo getCalendar(); ?>

oder in einem Seitentemplate mittels
Code:
<!-- Function: GetCalendar; -->

ausgeben.

Für die Formatierung ergänzt man entweder seine eigene CSS-Datei oder bindet zusätzlich ../mod_calendar/cal.css ein.





beta1a.jpg
Klicken für Originalbild! beta1a.jpg (93.97KB) - 617 mal angeklickt



cpo4_mod_calendar_beta1.zip - 18.24 KB
514 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 07.10.2012 11:23    Titel: Antworten mit Zitat

Und hier gleich eine beta 2

Einzige Änderung: Es lassen sich mehrere Kalender einsetzen, denen eine Differenz in Monaten mitgegeben werden kann.

Seitentemplates:
Code:
<!-- Function: GetCalendar; -->
<!-- Function: GetCalendar; 1; -->
<!-- Function: GetCalendar; 2; -->

PHP:
Code:
<?php
echo getCalendar();
echo getCalendar(1);
echo getCalendar(2);
?>

erzeugt untenstehendes erstes Bild. Das lässt sich beliebig erweitern.

Z.B. ins Negative (max +/- 12 Monate) und nebeneinanderstehend
Code:
<div style="float:left"><!-- Function: GetCalendar; -2; --></div>
<div style="float:left"><!-- Function: GetCalendar; -1; --></div>
<div style="float:left"><!-- Function: GetCalendar; --></div>
<div style="float:left"><!-- Function: GetCalendar; 1; --></div>
<div style="float:left"><!-- Function: GetCalendar; 2; --></div>

siehe zweites Bild.





beta2a.jpg
Klicken für Originalbild! beta2a.jpg (37.54KB) - 566 mal angeklickt



beta2b.jpg
Klicken für Originalbild! beta2b.jpg (69.22KB) - 587 mal angeklickt



cpo4_mod_calendar_beta2.zip - 18.39 KB
543 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: hscha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 03.12.2012 18:34    Titel: Antworten mit Zitat

Im Rahmen eines neuen Projektes ist der Kalender noch etwas gepimpt worden. Neben XHTML-Kompatibilität gibt es jetzt eine intelligentere Umsetzung bei mehreren Terminen an einem Kalendertag.
Zum einen werden alle Termine schon im Kalender gezeigt (title-Tag), zum anderen kann man zwei neue Varianten wählen, z.B. "Automatisch (Such- und Artikelseite)" verlinkt bei nur einem Termin auf die Artikelseite, bei mehreren auf die moduleigene Suchseite (die als Grundlage einer Rubrik genutzt werden sollte).





beta3.jpg
Klicken für Originalbild! beta3.jpg (26.64KB) - 546 mal angeklickt



cpo4_mod_calendar_beta3.zip - 19.78 KB
513 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: hscha, Mr. Magpie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 23.01.2013 10:54    Titel: Antworten mit Zitat

Wegen Firefox und PHP 5.4 wurde der Kalender nochmal überarbeitet und ist jetzt die 4.1




cpo4_mod_calendar_4.1.zip - 32.08 KB
458 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 01.11.2013 14:27    Titel: Antworten mit Zitat

Neue Version 4.2:
- Blättern mittels AJAX (asynchrone Datenübertragung)
- endloses Weiterblättern (statt bisher +/-12)
- Einbinden "fremder" Termine aus beliebigen Modulen wie mod_appointments, mod_eventDB, mod_vacancy etc. mittels calendar_handler

Wie geht das mit den fremden Terminen?
1.) im eigenen Modul definiert man in common-module.inc.php einen calendar_handler
Code:
$hdlr_calendar_content['test']  = array('include: '.CPO_BASEDIR.'mod_testmodul/test_appointments.inc.php');

2.) in der so für die Kalendererzeugung referenzierten Datei füttert man nun das Array $calData mit den Werten für title, rubric_id, nr, url, und calDate
Code:
   $calData['Erster Weihnachtsfeiertag'] = array(
      'title'     => 'Erster Weihnachtsfeiertag',
      'rubric_id' => '',
      'nr'        => '',
      'url'       => 'http://www.conpresso4.de',
      'calDate'   => date("Y").'-12-25 00:00:00'
      );

bei Nutzung von rubric_id und nr wird ein ConPresso-Artikel verlinkt, bei Nutzung von url ein externer Artikel bzw. eine spezielle URL.
Eine Datei test_appointsments.inc.php wird mitgeliefert.





cpo4_mod_calendar_4.2.zip - 34.5 KB
381 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
philosapiens
ConPresso-Newbie


Anmeldungsdatum: 22.06.2016
Beiträge: 13
Wohnort: Berlin

BeitragVerfasst am: 23.06.2016 20:22    Titel: Antworten mit Zitat

Hallo zusammen,

erst einmal vielen Dank an MarkusR für das schicke Modul!

Ich schau mir nun schon die Augen blutig, daher frage ich jetzt einfach:

Wenn ich die Tage mit Terminen farblich kennzeichnen möchte, welche class oder id ist das dann in der cal.css?

Und gibt es eigentlich eine Eingabemöglichkeit über das Backend?

Momentan erstelle ich einen Artikel in der Rubrik Termine und gebe dem das Verfallsdatum vom Termin. Geht aus so, wäre dann aber weg, wenn der Tag vorüber ist. Möchte ich nicht unbedingt.

Danke mal wieder im voraus für die Mühe und Geduld mit meinen Fragen. Wink

_________________
Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.

Mein nebenberufliches Hobby http://idealseiten.de

Und hier meine erste Conpresso-Projektseite:
www.insulaner.cidsnet.de/conpresso4/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 23.06.2016 20:33    Titel: Antworten mit Zitat

.calDayEmpty sind die Tage ohne Termin (empty)
.calDayApp sind die Tage mit Termin (appointment)
.calDayToday ist der heutige Tag (today)

Code:
td.calDayEmpty{
    background: #ccc;
}
td.calDayApp{
    background: #ddffdd;
   cursor: pointer;
}
td.calDayToday{
    background: #ffdddd;
}


Wenn die vergangenen Termine nicht verschwinden sollen könnte das hier gehen:

in calendar_appointments.inc.php einfach BEIDE Vorkommen von
Code:
AND verfallsdatum>='".date('Y-m-d H:i:s', time())."'

entfernen.

Ungetestet!

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
philosapiens
ConPresso-Newbie


Anmeldungsdatum: 22.06.2016
Beiträge: 13
Wohnort: Berlin

BeitragVerfasst am: 23.06.2016 20:41    Titel: Antworten mit Zitat

Hallo MarkusR,

danke für Deine mal wieder sehr schnelle Antwort.

Die drei classes hatte ich auch schon im Visier. Doch leider ändert sich da nix, wenn ich andere Farben definiere. Habe ich den Kalender falsch eingebunden?

_________________
Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.

Mein nebenberufliches Hobby http://idealseiten.de

Und hier meine erste Conpresso-Projektseite:
www.insulaner.cidsnet.de/conpresso4/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
philosapiens
ConPresso-Newbie


Anmeldungsdatum: 22.06.2016
Beiträge: 13
Wohnort: Berlin

BeitragVerfasst am: 23.06.2016 20:43    Titel: Antworten mit Zitat

Aktuelle cal.css:

Code:
...
td.calDayEmpty{
    background: #ccc;
}
td.calDayApp{
    background: #aaaaff;
   cursor: pointer;
}
td.calDayToday{
    background: #ffaaaa;
...

_________________
Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.

Mein nebenberufliches Hobby http://idealseiten.de

Und hier meine erste Conpresso-Projektseite:
www.insulaner.cidsnet.de/conpresso4/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7009

BeitragVerfasst am: 23.06.2016 20:45    Titel: Antworten mit Zitat

Wenn jetzt noch die cal.css auf der Seite benutzt würde dann könnte man ggf. was sehen...

Code:
<link href="../mod_calendar/cal.css" rel="stylesheet" type="text/css" />

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7


Zuletzt bearbeitet von MarkusR am 23.06.2016 20:46, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
philosapiens
ConPresso-Newbie


Anmeldungsdatum: 22.06.2016
Beiträge: 13
Wohnort: Berlin

BeitragVerfasst am: 23.06.2016 20:45    Titel: Antworten mit Zitat

Wenn ich mir alle verwendeten CSS-Dateien der Seite anzeigen lasse, so wird dort die cal.css nicht angezeigt.

Muss ich die noch irgendwo einbinden? Embarassed

_________________
Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.

Mein nebenberufliches Hobby http://idealseiten.de

Und hier meine erste Conpresso-Projektseite:
www.insulaner.cidsnet.de/conpresso4/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
philosapiens
ConPresso-Newbie


Anmeldungsdatum: 22.06.2016
Beiträge: 13
Wohnort: Berlin

BeitragVerfasst am: 23.06.2016 20:53    Titel: Antworten mit Zitat

Sorry, nun klappt es besser! Embarassed Embarassed Embarassed
_________________
Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.

Mein nebenberufliches Hobby http://idealseiten.de

Und hier meine erste Conpresso-Projektseite:
www.insulaner.cidsnet.de/conpresso4/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Kleine und neue Module Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen