hschottm / calendar_ical

Contao extension calendar_ical
1 stars 17 forks source link

calendar_ical Weiterleitungsziel #6

Closed Jaaaan closed 8 years ago

Jaaaan commented 8 years ago

Hallo Herr Schottmüller,

in den letzten Tagen habe ich meine Seite auf Contao 3.5.6 umgestellt. Während eines Tests (Import einer CSV-Datei mit der Erweiterung calendar_ical) ist mir dann aufgefallen, dass bei importierten Events zwar der Event-Text (also in den dazugehörigen Artikel) weiterhin übernommen wird und im Backend angezeigt wird, jedoch im Frontend nur eine 1 erscheint, sobald man das Event öffnet.

Nach kurzer Suche habe ich dann herausgefunden, dass das Weiterleitungsziel in den Eventeinstellungen der Events nicht definiert wird (also nicht einmal Standard). Gebe ich dann nachträglich bei einem Event als Weiterleitungsziel 'Standard' an, so lässt sich das Event problemlos inkl. Inhalt im Frontend darstellen. Das Weiterleitunsziel wurde bis jetzt auch nicht auf meiner alten Seite (Cto 3.2) beim Import von CSV-Dateien definiert, doch dort lassen sich alle importierten Termine problemlos inkl. Textelementen im Artikel darstellen (trotz nicht eingestelltem Weiterleitungsziel).

Kann man eventuell irgendwo in Contao einstellen, dass dauerhaft und immer automatisch als Weiterleitungsziel 'Standard' verwendet werden soll? Oder liegt hier ein Fehler in der Erweiterung bzw. Contao vor? Denn nach dem Import aller Termine vergisst man schnell mal, dass noch überall das Weiterleitungsziel geändert werden muss. ;-)

Vielen Dank für Ihre Hilfe!

Jaaaan commented 8 years ago

Hallo Herr Schottmüller,

Michael Ziemke (www.selbstlernportal.de) konnte mir bei dem Problem sehr behilflich sein. Er hat in Zeile 410 im Skript unter system/modules/calendar_ical/classes/CalendarImport.php in der Klasse /Methode CalendarImport / importFromCSVFile() um folgenden Eintrag ergänzt:

                                          $startDate = new Date($this->Session->get('csv_startdate'), $GLOBALS['TL_CONFIG']['dateFormat']);
                                           $endDate = new Date($this->Session->get('csv_enddate'), $GLOBALS['TL_CONFIG']['dateFormat']);
               /* ERGAENZT durch ZMK 2016-01-09 */
                                           if (!array_key_exists('source', $arrFields))
                                           {
                                                   $arrFields['source'] = 'default';
                                           }
               /* ENDE ERGAENZT durch ZMK 2016-01-09 */
                                           if ($arrFields['endDate'] < $startDate->tstamp || (strlen($this->Session->get('csv_enddate')) && ($arrFields['startDate'] > $endDate->tstamp)))
                                           {
                                                   // date is not in range
                                           }
                                           else
                                           {
                                                   $objInsertStmt = $this->Database->prepare("INSERT INTO tl_calendar_events %s")

Damit funktioniert es dann

hschottm commented 8 years ago

Sorry, da wollte mich ja noch drum kümmern. Danke an Michael Ziemke und Ihre Hartnäckigkeit. Ich habe den Code eingepflegt und die Erweiterung im ER aktualisiert.

Behoben in 13e724e3bc6db1ffe9d9013479d0d44dad11e0f1