Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 11. Juli 2012 00:36

bbiederm
hat von CMS/ms gehört
Registriert: 11. Juli 2012
Beiträge: 8

Google Kalender einbinden -- nächster Termin

Hallo zusammen,

ich möchte gerne Termine aus meinem GoogleKalender in CMSMS einbinden. Ich habe auch schon die Lösung per <iframe> gefunden. Nun möchte ich aber auf der Startseite den nächsten Termin aus meinem Google Kalender anzeigen lassen. Dabei habe ich probiert rsss2html zu nutzen. Leider orientiert rss und somit (auch rss2html) sich nicht an den Daten der Termine, sondern an den Erstellungsdaten. Somit sind die Termine in der rss Ansicht durcheinander.
Mache ich etwas falsch?
Wie kann ich vorgehen?

Danke
bbiederm

Offline

#2 15. Juli 2012 20:35

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Für Google Calendar gibt's ein (altes) Modul. Wenn du ein bißchen mit PHP fit bist, sollte sich das relativ einfach anpassen lassen ...

http://dev.cmsmadesimple.org/projects/googlecalendar


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#3 16. Juli 2012 08:36

bbiederm
hat von CMS/ms gehört
Registriert: 11. Juli 2012
Beiträge: 8

Re: Google Kalender einbinden -- nächster Termin

Danke für die Antwort!
Am Wochenende habe ich mich auch nochmal drangesetzt und eine andere Lösung gefunden.
Ich löse es nun mit diesem RRS-Feed innnerhalb von RSS2HTML und bin sehr zufrieden:

https://www.google.com/calendar/feeds/[account]/public/basic?orderby=starttime&sortorder=ascending&max-results=5

Hier ist die gesamte Google Calendar API Reference

Beitrag geändert von bbiederm (16. Juli 2012 08:40)

Offline

#4 16. Dezember 2013 18:15

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Leider eine Weile her dieser Beitrag, aber ich habe folgendes Problem: Feed-Adresse des Formats wie von bbiederm angegeben, wird von RSS2HTML nicht als korrekte Feed-URL akzeptiert. Hat jemand eine Ahnung, woran das liegen kann?

Ich benutze das Modul unter 1.11.9 und habe sonst bisher keine Fehlermeldungen.

Beitrag geändert von COR9 (16. Dezember 2013 18:17)

Offline

#5 17. Dezember 2013 09:44

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Funktioniert der Feed an sich noch bzw gibt dir was gescheites aus?


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#6 17. Dezember 2013 09:53

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Wenn ich an die googletypische URL .XML anhänge, frisst RSS2HTML die Feed-Adresse, gibt aber an der entsprechenden Stelle nix aus. Über den RSS-Reader in Browsern wird der Kalender prächtig angezeigt.

Habe auch das alte GoogleCalendar ausprobiert, aber das will den Zend-GData-Ordner wissen. Ich nehme mal an, da brauche ich mehr Rechte auf dem Server, um das zu installieren. Bin schon auf PHP 5.3 mit Zend-Optimierung runter, hilft aber nix.

Jetzt stehe ich ganz schön auf dem Schlauch, weil auch XMLMadeSimple nur eine sehr seltsam sortierte XML-Datei ausgibt, in der gerade der Content, den ich filtern will, unter einem Wert zusammengefasst ist.

Offline

#7 17. Dezember 2013 11:01

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Wie gesagt das Modul ist schon etwas älter. Schau mal im Forge. Da gibt es ein Modul, was das Zend Framework bereit  stellt. Evtl kannst du den Source dahingehend anpassen, dass es darüber darauf zugreift.

Hab zudem gesehen, dass bei rss2html vermerkt ist, dass es mit CMSMS 1.10 funktioniert. Möglicherweise hängt es  an den Änderungen in der 1.11...  Zumindest ist das Modul bereits als 'stale' gekennzeichnet.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#8 17. Dezember 2013 11:03

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Ggf. Mal mit {get_template_vars} checken, ob und was genau im Template ankommt.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#9 18. Dezember 2013 20:42

bbiederm
hat von CMS/ms gehört
Registriert: 11. Juli 2012
Beiträge: 8

Re: Google Kalender einbinden -- nächster Termin

Hi COR9,

Ich benutze immernoch rrs2html mit meinem google calender und er funktioniert. Die URL für rrs2html sieht bei mir inzwischen so aus:

http://www.google.com/calendar/feeds/[dein kalender]/public/basic?orderby=starttime&futureevents=true&sortorder=ascending&max-results=3&ctz=Europe/Berlin

Ich benutze:
cmsms 1.11.9
rrs2html 1.2.5.2
News 2.13

Vielleicht liegt es am Template?

Beitrag geändert von bbiederm (18. Dezember 2013 20:43)

Offline

#10 20. Dezember 2013 11:51

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Danke bbiederm, dass Du Dich der Sache nochmal annimmst.

Es liegt wohl am Template, ich war nur erstmal geplättet, dass die URL überhaupt nicht gefressen wird.
Das Standard-Template benutzt die RSS-typischen XML-Tags wie channel etc. Google Kalender ganz andere.

Würdest Du mir Einblick in Dein Template geben?

Dann schließt sich gleich noch eine Frage an: Unter [content] fasst die Kalenderdatei leider so einiges (Datum, Zeit, Ort, Status, Terminbeschreibung) kaum ungefiltert zusammen. Ich benötige aber nur die Beschreibung selbst, denn der Kalender soll die einzige Datenquelle für News-Content werden und auch zeitunabhängige Daten liefern. Falls Du das Problem auch hattest, wie hast Du es gelöst? truncate etc?

[== XML Ausschnitt ==]
[entry] => SimpleXMLElement Object 
      (
           [id] => http://www.google.com/calendar/feeds/meinkalender%40group.calendar.google.com/public/basic/meinsubkalendercode
           [published] => 2013-12-16T15:38:52.000Z
           [updated] => 2013-12-16T15:45:56.000Z
           [category] => SimpleXMLElement Object
                 (
                        [@attributes] => Array
                         (
                                    [scheme] => http://schemas.google.com/g/2005#kind
                                    [term] => http://schemas.google.com/g/2005#event
                         )
                  )
            [title] => Christvesper
            [summary] => Wann: Di 24. Dez. 2013 15:00 bis 16:00  MEZ
                                   Wo: Mein Ort, Deutschland
                                   Status des Termins: bestätigt
            [content] => Wann: Di 24. Dez. 2013 15:00 bis 16:00  MEZ
                                Wo: Mein Ort, Deutschland
                                Status des Termins: bestätigt
                                Terminbeschreibung: Lorem ipsum ZIEMLICH VIEL TEXT, Z.B. EDITORIAL

Beitrag geändert von COR9 (20. Dezember 2013 11:51)

Offline

#11 20. Dezember 2013 12:48

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.816
Webseite

Re: Google Kalender einbinden -- nächster Termin

Daraus liesse sich ein Array machen und die benötigten Werte auslesen:

{$entry->content} // Müsste den Inhalt des Contents hergeben
{assign var="content" value="\n"|explode:$entry->content}
{$content[3]} // Müsste die Terminbeschreibung geben
{assign var="terminbeschreibung" value=":"|explode:$content[3]}
{$terminbeschreibung[1]} // müsste die Terminbeschreibung ohne vorgehende Beschreibung liefern.

Alles ungetestet, reine Hypothese.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#12 20. Dezember 2013 17:57

bbiederm
hat von CMS/ms gehört
Registriert: 11. Juli 2012
Beiträge: 8

Re: Google Kalender einbinden -- nächster Termin

Hi COR9,

mein template in rss2html sieht wie folgt aus:

{foreach from=$rss->items item='item' name=EBSagenda}
        {if $smarty.foreach.EBSagenda.index < 3}
        <div id="agenda">
        <strong>{$item.title}</strong>
        <br><font>{$item.summary}</font>
        </div>
        {/if}
{/foreach}

dort wird nur der Title und das Summary ausgelesen. So ist es nicht nötig es vorher zu kürzen.

Im CMSMS template rufe ich es dann so auf:

{RSS2HTML feed='rss2html-feedNameGoogleKalender' template="rss2html-Template"}</div>

Auf der Seite benötige ich nur die nächten drei Termine. deswegen ...index < 3

Beitrag geändert von bbiederm (20. Dezember 2013 17:59)

Offline

#13 24. Dezember 2013 13:20

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Vielen Dank für Eure Antworten einstweilen, ich teste zwischen Weihnachten und Neujahr weiter.

Offline

#14 07. Januar 2014 14:22

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: Google Kalender einbinden -- nächster Termin

Ist jetzt zwar quick-and-dirty, aber bei mir läuft der Google Calendar mit RSS2HTML und diesem Template:

{foreach from=$rss->items item='item'}
{assign var="ttermin" value=$item.atom_content|strip_tags|regex_replace:"/(\s*\n\s*)+/":"\n"}
{assign var="termin" value="\n"|explode:$ttermin}
{assign var="wann" value=$termin[0]|replace:"Wann: ":""}
{assign var="wo" value=$termin[1]|replace:"Wo: ":""}
{assign var="details" value=$termin[3]|replace:"Terminbeschreibung: ":""}

Wann: {$wann}<br />
Wo: {$wo}<br />
Details: {$details}<hr />

{/foreach}

Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline

#15 16. Januar 2014 12:09

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Ich weiß leider immer noch nicht, wo es hängt. Habe Eure Vorschläge ausprobiert, der Sch...kalender wird aber sowas von überhaupt nicht geladen. Am Modul grundsätzlich kanns nicht liegen, habe den ARD-Nachrichten-Feed probiert, geht super.

{RSS2HTML|print_r feed='Kalender'} gibt eine 1 aus,
{get_template_vars} im Seitentemplate enthält zwei Infos, die sich dem Modul zuordnen lassen: actionmodule = RSS2HTML und feedtitle = Problem mit:

Mit z.B. dem Template, das bei bbiederm funktioniert, müsste mir ja wenigstens ein Titel angezeigt werden. Aber nicht mal statisches HTML erscheint, wenn ich's ins Template hacke. Zwischenspeicher habe ich jeweils in RSS2HTML als auch global gelöscht. Aufrufe sind korrekt gesetzt. Debug-Modus des Moduls zeigt keinen Effekt.

Hat jemand Verdachtsmomente, woran das liegen könnte? Ich habe testweise parallel XMLMadeSimple installiert, das erkennt den Kalender.

Core 1.11.9
RSS2HTML 1.2.5.2
(XMLMadeSimple 0.1.2)

Offline

#16 16. Januar 2014 15:49

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Ähmm,  warum nimmst du XML made simple nicht, wenn es bei dir funktioniert  cool?


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#17 21. Februar 2014 10:04

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

@cyberman: Es war noch Weihnachtszeit, ich hoffte auf das Wunder der Schnelleinbindung ...

Ansonsten habe ich an Andiministrators Template so lange rumgewerkelt, bis es mir in XML Made Simple nacheinander und in den richtigen Zeilen die Feed-Einträge anzeigte:

{foreach from=$feeds item='item'}
{assign var="ttermin" value=$item->content|strip_tags|strip|replace:"Wann: ":"<br>"|replace:" Wo: ":"<br>"|replace:" Status des Termins: ":"<br>"|replace:" Terminbeschreibung: ":"<br>"}
{assign var="termin" value="<br>"|explode:$ttermin}
{assign var="wann" value=$termin[1]}
{assign var="wo" value=$termin[2]}
{assign var="details" value=$termin[4]}

<p>Wann: {$wann}<br>
Wo: {$wo}<br>
Details: {$details}</p>
{/foreach}

Jetzt stieß ich auf ein neues, recht ekliges Problem:
Ersetzen mit reglären Ausdrücken hatte keine Wirkung, der Quelltext beinhaltete immer noch obskure, keinem eindeutigen Muster folgende Zeilenwechsel. Und da der Explode dem Zeilenwechsel folgt, gab's Salat. Ich habe HTML maskiert und wirklich alles entfernt (z.B. geschützte Leereichen), was einer korrekten Explode-Ausgabe noch im Wege stehen könnte. Keine Wirkung, deshalb habe ich zur strip-Keule gegriffen und musste nach einem anderen Wert für den Explode suchen. Die Mehrfach-replace-Geschichte ist nicht so geschickt, aber noch einen Arry bauen?

Hat jemand eine elegantere Idee bzw. schwere Bedenken? Ich find meinen Umbau nicht so doll, aber er funktioniert zumindest.

Offline

#18 21. Februar 2014 12:23

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

replace ist in der Tat keine sonderlich performante Lösung für dein Problem.

Jedoch sollte sich dies stark relativieren, wenn du die Zwischenspeicherungsdauer des Feeds höher setzt.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#19 21. Mai 2014 04:25

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

Die weiteren Fragen von @COR9 wurden wegen neuer Fragestellung abgespalten und hier weitergeführt:

http://www.cmsmadesimple.de/forum/viewtopic.php?id=3924


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#20 21. Mai 2014 12:03

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

cyberman schrieb:

Für Google Calendar gibt's ein (altes) Modul. Wenn du ein bißchen mit PHP fit bist, sollte sich das relativ einfach anpassen lassen ...

http://dev.cmsmadesimple.org/projects/googlecalendar

@COR9

Kannst du dir mal eine Installation mit einer alten CMSMS Version bauen und schauen, ob das Modul die Daten liefert, die du benötigst.

Vom Alter des Moduls her sollte es wohl die 1.6 sein, vom Code her könnte es auch mit der 1.9 funktionieren.

Wäre zumindest ein Test, ob es Sinn macht, dieses Modul auf den aktuellen Stand zu bringen.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#21 21. Mai 2014 15:08

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 271

Re: Google Kalender einbinden -- nächster Termin

Gute Idee, habe es unter 1.6.1 und der letzten verfügbaren GoogleCalendar-Version probiert. Man braucht CGExtensions dafür, davon habe ich die zeitgemäße Version 1.15 installiert.

Folgt Fehlermeldung im Backendbereich des Moduls:
Zend GData library not found. Please make sure that the path to this library is set correctly in the preferences panel.

Habe keine Rechte, Zend-Bibliotheken zu installieren. Und den Pfad kenne ich auch nicht.
Daraus folgen folgende Fehlermeldungen, wenn ich das Modul einbinde:

Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/benutzer/public_html/modules/GoogleCalendar/GoogleCalendar.module.php on line 115

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='.:/usr/lib/sphereconf/fcgi/php52/lib/php') in /home/benutzer/public_html/modules/GoogleCalendar/GoogleCalendar.module.php on line 115

In Zeile 115 steht einfach nur require_once 'Zend/Loader.php'; und der Loader wird natürlich nicht gefunden.

Anderes Problemchen: Nur eine Kalenderadresse kann eingebunden werden. Vielleicht lassen sich die anzuzeigenden Infos der Unterkalender via Template ausfiltern, da ich mindestens 5-6 Instanzen auf verschiedenen Unterseiten brauche.

Beitrag geändert von COR9 (21. Mai 2014 15:13)

Offline

#22 21. Mai 2014 21:08

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

COR9 schrieb:

Folgt Fehlermeldung im Backendbereich des Moduls:
Zend GData library not found. Please make sure that the path to this library is set correctly in the preferences panel.

Eigentlich sollte im Backend ein Input-Feld zu finden sein, wo der Pfad zur Zend Bibliothek eingegeben werden muss.

COR9 schrieb:

Habe keine Rechte, Zend-Bibliotheken zu installieren. Und den Pfad kenne ich auch nicht.

Möglicherweise hast du da eine falsche Vorstellung wink. Natürlich kannst du das Zend Framework einbinden (nicht zu verwechseln mit dem Zend Guard & Co, was wirklich Server-Module sind).

COR9 schrieb:

In Zeile 115 steht einfach nur require_once 'Zend/Loader.php'; und der Loader wird natürlich nicht gefunden.

Kommentier die Zeile mal aus und installier das Zend Framework Modul

http://dev.cmsmadesimple.org/projects/zendframework

Nur eine Kalenderadresse kann eingebunden werden. Vielleicht lassen sich die anzuzeigenden Infos der Unterkalender via Template ausfiltern,

Schau erst mal, ob es mit einer Kalenderadresse das tut, was es nach deiner Vorstellung soll wink - falls ja, können wir immer noch schauen, ob und wie man mehrere Adresse ansprechen kann.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#23 15. Juni 2014 23:03

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.879
Webseite

Re: Google Kalender einbinden -- nächster Termin

cyberman schrieb:

Eigentlich sollte im Backend ein Input-Feld zu finden sein, wo der Pfad zur Zend Bibliothek eingegeben werden muss.

Hast du dieses Feld im Tab Preference / Einstellungen gefunden?

Falls ja, Kommando zurück (also die Auskommentierung wieder weg) und in diesem Feld mal den Systempfad zu Zend/Loader.php (der sich ja innerhalb des ZendFrameworks befindet) eintragen.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline