Ergebnis 1 bis 28 von 28

Thema: Event unregelmäßig, aber doch regelmäßig wiederholen?

  1. #1
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard Event unregelmäßig, aber doch regelmäßig wiederholen?

    Hallo,

    Ich habe einen Event, der jeden Montag, Mittwoch, Freitag wiederholt werden soll.
    Wie bekomme ich so eine Wiederholung gelöst, ohne den Event dreimal einzutragen?

    Mit der Erweiterung calendar_extended könnte ich die Wiederholungen manuell eintragen, aber das ist für ein ganzes Jahr z.B. auch eher
    unpraktisch ...

    Hab ich eine Möglichkeit der Einstellung übersehen?


    Danke

    Mark

  2. #2
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo Mark,

    du kannst mit calendar_extended folgendes machen. Wiederholung täglich, und dann kannst du die Wochentage auswählen.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  3. #3
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Mh, ich bin zu blinde gerade ....

    Ich bin in der Subpalette "Event wiederholen (erweitert)"

    Und da kann ich wählen:

    Erweitertes Intervall

    jeden ersten, zweiten, dritten ....

    und entweder Montag, Dienstag usw.

    täglich bekomme ich da gar nicht zur Auswahl ....



    Mark

  4. #4
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hi Mark,

    da die Auswahl "täglich" nur in der "normalen" Wiederholung zu finden ist, findest du hier auch die Auswahl der Wochentage.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  5. #5
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Aber ich kann doch nur eine der Möglichkeiten nutzen und die erweiterte Wiederholung bietet nur die Möglichkeit

    Jeden ersten / zweiten / dritten / vierten oder fünften Montag oder Dienstag oder oder oder ....

    events.jpg

    Darüber bekomme ich doch keine permanente Wiederholung jeden Montag, Mittwoch, Freitag hin?

  6. #6
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Zitat Zitat von Mark Knochen Beitrag anzeigen
    Ich habe einen Event, der jeden Montag, Mittwoch, Freitag wiederholt werden soll.
    Du willst doch jede Woche? Warum dann Weiderholungen (erweitert) ?
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  7. #7
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    die Wochentage sind für die Ermittlung der Folgetermine offenbar nicht relevant,
    es werden nur die Folgetermine angezeigt, die sich aufgrund der Intervall-Angabe ergeben

    und 0 kann ich bei Intervall nicht angeben
    bei 1 wieder der Termin jeden Tag wiederholt, ganz unabhängig, ob bestimmte Wochentage markiert oder nicht markiert sind.

    Mark

  8. #8
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  9. #9
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Mh, ja so hab ich das auch ....

    Und im FE verwendest du auch $this->allRecurrences ?


    Ich hab mal genau die gleichen Werte wie Du verwendet ... und ich bekomme in der Ausgabe bei einem Terminstart vom 04.02.2018

    Nächste Termine: 04.02., 05.02., 06.02., 07.02., 08.02., 09.02., 10.02., 11.02., 12.02., 13.02.


    Mark

  10. #10
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Also das Startdatum sollte ein Tag sein, an dem das Event auch stattfindet. Und ich verwende das Contao Standard-Template event_upcomming.
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  11. #11
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Da steht bei mir nur der erste Termin drin, in dem Template steht doch auch nur:

    PHP-Code:


    <div class="event layout_upcoming<?= $this->classUpcoming ?>">

      <time datetime="<?= $this->datetime ?>" class="date"><?= $this->date ?><?php if ($this->time): ?><?= $this->time ?><?php endif; ?></time>
      <a href="<?= $this->href ?>" title="<?= $this->title ?> (<?php if ($this->day) echo $this->day ', '?><?= $this->date ?><?php if ($this->time) echo ', ' $this->time;?>)"<?= $this->target ?>><?= $this->link ?></a>

    </div>

    was hast du da?

  12. #12
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    genau das gleiche. wie sehen denn deine Modul-Einstellungen aus?
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  13. #13
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Mh, das könnte es sein, ich habe das für den Event-Leser verwendet, weil ich diese folgenden Terminangaben auf einer Detailseite brauche. Da sollten die Termine doch
    aber eigentlich auch verfügbar sein .....

    über var_dump($this) sieht man ja, dass $this->allRecurrences eigentlich die Wiederholungen bringen müsste.

    Ob die im Event-Leser da anders in das Event-Model gerendert werden?



    Mark

  14. #14
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Zitat Zitat von Mark Knochen Beitrag anzeigen
    Mh, das könnte es sein, ich habe das für den Event-Leser verwendet, weil ich diese folgenden Terminangaben auf einer Detailseite brauche. Da sollten die Termine doch
    aber eigentlich auch verfügbar sein .....

    über var_dump($this) sieht man ja, dass $this->allRecurrences eigentlich die Wiederholungen bringen müsste.

    Ob die im Event-Leser da anders in das Event-Model gerendert werden.

    Mark
    Also wenn $this->allRecurrences wirklich die folgenden Termine im Eventleser bereit hält, dann werden die da falsch gelistet...


    mark

  15. #15
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Zitat Zitat von Mark Knochen Beitrag anzeigen
    Also wenn $this->allRecurrences wirklich die folgenden Termine im Eventleser bereit hält, dann werden die da falsch gelistet...
    $this->allRecurrences enthält alle Wiederholungen. Ich bin mir gerade nicht sicher, ob ich die Einschränung der Wochentage da rausfiltere. Ich teste primär mit den Standard-Templates, weil die funktionieren sollen.
    Aber ich schaue mir das die Tage noch mal an, ob ich $this->allRecurrences bereinige, oder ob der immer alle Wiederholungen behält. Möglicherweise ist der nur für den "internen" gebrauch.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  16. #16
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hi Mark,

    ich habe das jetzt mal gefixt, so dass die Wiederholungen gefiltert werden.
    Kommt heute in der neuen Version.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  17. #17
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.790
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von kmielke Beitrag anzeigen
    Also das Startdatum sollte ein Tag sein, an dem das Event auch stattfindet.
    Ist aber nicht immer machbar.
    Ich habe Terminserien die finden über lange Zeit (ein Jahr) alle 14 Tage Montag statt. Einige Termine verschieben sich um einen oder mehrere Tage (plus/minus). Das klappt prima. Gestern hatte ich das erste mal den Fall, dass sich der erste Termin auf Grund des Feiertages verschiebt und ausgerechnet nicht an einem Montag stattfindet. Da habe ich lange gesucht, wie ich das für mich mit möglichst wenig Aufwand einstelle.
    Vor allem weil man unter Ausnahmen definieren bei Ausnahmen nach Datum diesen ersten Termin auch wählen kann. Nur eine Verschiebung findet nicht statt.
    Ich habe für mich eine gangbare Lösung gefunden. Der erste Termin ist eine unregelmäßige Wiederholung. Die Serie fängt am zweiten Termin an und die restlichen Verschiebungen können wie bisher mit Ausnahmen nach Datum verschoben werden. Vielleicht könnte man aber auch eine Verschiebung des ersten Termins mit einbauen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  18. #18
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo mlweb,

    das ist den ganzen Aufwand nicht Wert. Der erste Termin ist ja der, aus dem die ganzen Wiederholungen berechnet werden, also der "Start", der auch in der DB für das Event gespeichert wird. Aber das wirst du sicherlich wissen.

    Man müsste dann ja den aktuellen Contao Mechanismus umgehen, neubauen... Aus meiner Sicht wäre die einzige echte Alternative, eben eine echte Alternative zum Contao Kalender zu bauen. Eigene Tabellen und und und...

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  19. #19
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Hallo,

    ich habe jetzt öfter das Problem, dass ich an sich EINEN Termin habe, der aber verschieden wiederholt wird:

    Der erste Termin beginnt am 02.02. und soll dann immer wöchtenlich jeden Freitag und Samstag wiederholt werden.
    Die Einstellungen sind "Intervall 7", als Wochentage sind Freitag und Samstag ausgewählt

    also die nächsten Termine wären dann: 02.02., 03.02., 09.02., 10.02., 16.02., 17.02, 23.02., 24.02 ...

    Ich erhalte im Kalender, in den Listen und in der Detailanzeige immer nur die Freitagswiederholungen:
    02.02., 09.02., 16.02., 23.02., ...

    (Das ist das eine Problem)

    Ein zweiter Termin mit dem gleichen Namen (!weil es im Grunde der gleiche Termin ist!) beginnt 02.04. und soll Montag, Donnerstag und Sonntag wiederholt werden.
    Die Einstellungen sind "Intervall 7", als Wochentage sind Montag, Donnerstag und Samstag ausgewählt.

    Dieser Termin wird im Kalender usw. aber ab dem Beginn täglich aufgeführt, also wirklich jeden Tag, nicht nur Montag, Donnerstag oder Sonntags.

    Das sind die ersten beiden Probleme in der Wiederholungsdarstellung der Termine.

    Und ich würde gerne noch folgendes erreichen:
    Diese beiden Termin sollten in der Übersicht und in auch in der Detailansicht irgendwie gruppiert werden. Es soll also vermieden werden, dass der Name des Termins mehrfach auftaucht. Aufgrund der verschiedenen Startzeitpunkte muss der Termin aber zweimal erfasst werden ......
    Besteht die Möglichkeit, beim "Holen" der Termine noch eine Gruppierung nach dem Namen eines Events zu machen und die anfallenden Wiederholungen zusammenzuführen?

    Wichtig sind leider beide Sachen - zum einen die falsche Darstellung der Wiederholungen ... und zum anderen das Zusammenführen von Terminen mit dem gleichen Namen.

    Hierzu habe ich folgende Idee:

    Beim "Sammeln" der Termine aus der DB wird ein GROUP BY auf den Namen gelegt.
    Beim Berechnen der Wiederholungen müsste es dann eine zusätzliche Abfrage geben, die nach weiteren Terminen mit dem gleichen Namen sucht und wiederum diese Wiederholungen mit in das "Wiederholungs-Array" packt ....

    Es müsste vermutlich am Modul selber geändert werden, das wäre für ich in dem Fall aber ok.



    Danke für Hinweise und Tipps

    Mark
    Geändert von Mark Knochen (26.01.2018 um 16:18 Uhr)

  20. #20
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo Mark,

    da du die Erweiterung calendar_extended benutzt, poste deine Sachen diesbezüglich bitte in das entsprechende Unterforum https://community.contao.org/de/foru...endar_extended.

    Zu deinem "Problem". Die Auswahl der Wochentage wird nur dann berücksichtigt, wenn Intervall auf 1 steht, und Tag ausgewählt wird, der Termin also täglich wiederholt wird. Das ist aber in de Doku zu finden, und auch in der GUI, wenn man hinschaut.

    Dein Problem sollte also so gelöst werden können, in dem du ein Datum setzt, dann Intervall 1 Tag wählst, und dann die Wochentage, wo der Termin stattfinden soll.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  21. #21
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ich lass die Antwort für diesen Fall noch einmal hier ... da es sich da ja um die "normale" Wiederholung des Event-Moduls handelt.

    Der Hinweis war richtig, ich habe es irgendwo schon mal anders erklärt bekommen, aber so passt es jetzt, was die einzelnen Wiederholungen angeht.

    Aber: die Frage mit der Zusammenfassung von gleichnamigen Terminen steht noch.

    Das Szenario ist folgendes:
    Ein Termin wird jährlich immer Freitags und Samstags stattfinden.
    In der Zeit von April bis Ende Oktober findet der Termin ebenfalls Montag, Donnerstag und Sonntag statt.

    Um jetzt für den ganzjährlichen Termin nicht für die Sommersaison 210 Ausnahmen zu definieren, wurde der Termin kopiert und mit den
    zusätzlichen Wiederholungen belegt.

    Ziel ist aber, dass im Frontend, diese beiden Termine als nur EIN Termin angezeigt werden und die entsprechenden Wiederholungen zusammengeführt werden.


    Danke nochmals

    Mark

  22. #22
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo Mark,

    für das Zusammenfassen von Terminen mit gleichem Namen gibt es meines Wissens nach nichts. Da muss dann eine Erweiterung her. In calendar_extended würde ich sowas nicht einbauen. Ist ein sehr spezieller Fall finde ich.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  23. #23
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Zitat Zitat von kmielke Beitrag anzeigen
    Hallo Mark,

    für das Zusammenfassen von Terminen mit gleichem Namen gibt es meines Wissens nach nichts. Da muss dann eine Erweiterung her. In calendar_extended würde ich sowas nicht einbauen. Ist ein sehr spezieller Fall finde ich.

    Gruß Kester

    Das verstehe ich, kannst du mir grob sagen, an welchen Stellen die Events im Code "gesammelt" werden, also wo ich z.B. die SQL Gruppierung nach dem Namen platzieren könnte, und wo die
    Wiederholungen dem Objekt oder Array für das Frontend hinzugefügt werden?

    Für das Contao 2.11 hab ich das schon mal selber hinbekommen, in der 3.5. Version ist der Code deutlich anders.


    Danke schonmal


    Mark

  24. #24
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Am besten baust du dir ein kleines Modul, was den getAllEvents HOOK verwendet.
    https://docs.contao.org/books/api/ex...AllEvents.html

    Dieser HOOK wird immer automatisch aufgerufen, und bekommt einen Array mit allen Events die den zeitlichen Parametern entsprechen. Diesen Array kannst du dann in deinem HOOK modifizieren.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  25. #25
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Zitat Zitat von kmielke Beitrag anzeigen
    Am besten baust du dir ein kleines Modul, was den getAllEvents HOOK verwendet.
    https://docs.contao.org/books/api/ex...AllEvents.html

    Dieser HOOK wird immer automatisch aufgerufen, und bekommt einen Array mit allen Events die den zeitlichen Parametern entsprechen. Diesen Array kannst du dann in deinem HOOK modifizieren.

    Gruß Kester
    getAllEvents beeinflusst doch aber nur die Events, die so in einem Kalender stehen. Wenn die Berechnung der Wiederholungen über den das Feld im DCA geregelt werden, müsste nicht da angesetzt werden?

    Ich bin hier noch etwas verwirrt und sehe gerade keinen richtigen Anfang, da ich noch nicht überblickt habe, wie die Wiederholungen da überhaupt berechnet werden.


    Mark

  26. #26
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo Mark,

    nein, wenn der getAllEvents() HOOK gerufen wird, dann sind in dem Array alle Events inkl. der Wiederholungen enthalten, die in dem entsprechenden Zeitraum passen.

    Der getAllEvents() HOOK bekommt einen Array mit allen Events, und es muss ein Array zurückgegeben werden. Du kannst den Array nach belieben modifizieren, bevor dieser dann durch die Funktion zurückgegeben wird.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  27. #27
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Zitat Zitat von kmielke Beitrag anzeigen
    Hallo Mark,

    nein, wenn der getAllEvents() HOOK gerufen wird, dann sind in dem Array alle Events inkl. der Wiederholungen enthalten, die in dem entsprechenden Zeitraum passen.

    Der getAllEvents() HOOK bekommt einen Array mit allen Events, und es muss ein Array zurückgegeben werden. Du kannst den Array nach belieben modifizieren, bevor dieser dann durch die Funktion zurückgegeben wird.

    Gruß Kester
    Mh, ich muss nochmal nachfragen ... ich benötge dieses Zusammenfassen von zwei Terminen in einer Ansicht ja im Grunde "nur" in der Detailansicht, wo alle künftigen Wiederholungen ausgegeben werden sollen.

    Wie würde ich den HOOK dann an die Detailansicht binden? Und dort müsste ich ja dann auch noch filtern, dass ich nicht alle Termine zurück gebe, sondern nur die Termine, die den gleichen Titel haben. Im getAllEvents() HOOK müsste ich dann also erstmal den Titel des Events anhand der ID suchen und dann alle Termine im Array nach dem Titel miteinander vergleichen? Wäre das der Ansatz?


    Danke schonmal

    Mark

  28. #28
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Zitat Zitat von Mark Knochen Beitrag anzeigen
    Mh, ich muss nochmal nachfragen ... ich benötge dieses Zusammenfassen von zwei Terminen in einer Ansicht ja im Grunde "nur" in der Detailansicht, wo alle künftigen Wiederholungen ausgegeben werden sollen.

    Wie würde ich den HOOK dann an die Detailansicht binden? Und dort müsste ich ja dann auch noch filtern, dass ich nicht alle Termine zurück gebe, sondern nur die Termine, die den gleichen Titel haben. Im getAllEvents() HOOK müsste ich dann also erstmal den Titel des Events anhand der ID suchen und dann alle Termine im Array nach dem Titel miteinander vergleichen? Wäre das der Ansatz?


    Danke schonmal

    Mark

    Ich verlinke mal das hier, weil das jetzt doch eher spezifischer wird:

    https://community.contao.org/de/show...der-EventListe

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •