Ergebnis 1 bis 27 von 27

Thema: Monate im Minikalender durchblättern ohne das die Seite neu lädt?

  1. #1
    Contao-Nutzer
    Registriert seit
    27.01.2014.
    Beiträge
    70

    Standard Monate im Minikalender durchblättern ohne das die Seite neu lädt?

    Hallo,

    ich verwende auf der Startseite den Mini-Kalender. Wenn ich hier den Monat wechseln möchte, lädt jedesmal die ganze Seite neu.

    Kann man das evt. irgendwo einstellen, dass nur der Kalendermonat durchgeblättert werden kann, ohne dass die ganze Seite neu geladen wird?

    ev_screen.jpg

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

    Standard

    Hallo,

    nein, das kann man nicht einstellen. Was du machen kannst, ist das Template so ändern, dass Daten via Ajax geladen werden. Das musst du programmieren.

    Gruß Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Ganz allgemein könnte man es mit jQuery bspw. so machen (ungetestet):
    PHP-Code:
    $(document).ready( function()
    {
        $(
    '.mod_calendar').on('click''.head a', function(e)
        {
            
    e.preventDefault();
            $(
    '.mod_calendar').load( $(this).attr('href') + ' .mod_calendar > *' );
            return 
    false;    
        });    
    }); 
    Funktioniert jedoch nicht richtig, wenn mehrere Kalender auf einer Seite sind.

    // Funktionierende Variante: https://community.contao.org/de/show...l=1#post350838 (allerdings auch nur mit einem Kalender pro Seite).
    Geändert von Spooky (15.06.2016 um 21:16 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    28.03.2011.
    Beiträge
    44

    Standard

    https://github.com/contao/core/issues/2152

    leofeyer commented on Nov 29, 2011

    In der Version 3 wird der Minikalender mittels Ajax funktionieren. Dann stellt sich das Problem nicht mehr.
    Woran ist es gescheitert, oder habe ich doch auch etwas übersehen?

  5. #5
    Contao-Nutzer Avatar von amisso
    Registriert seit
    13.10.2011.
    Ort
    Kiel
    Beiträge
    12
    Partner-ID
    6560

    Standard

    ich denke mal, dass leo das geplant hat und dann doch nicht umgesetzt hat
    immerhin hat er das geschrieben, bevor die entwicklung von 3.0 richtig los ging
    das ticket auf github ist ja auch immernoch offen

    frag doch am besten direkt auf github im ticket nochmal nach
    amisso GmbH
    Ihre Agentur für Webdesign, Contao-Erweiterungen und -Hosting aus Kiel: www.amisso.de
    Als Contao-Partner stehen wir Ihnen zur Seite - rufen Sie uns jetzt an: 0431 / 530 377 0

  6. #6
    Contao-Nutzer
    Registriert seit
    03.11.2014.
    Beiträge
    33

    Standard Gibt es inzwischen eine Lösung für das "Problem?"

    Hallo,
    ich habe das gleiche Anliegen... Eventliste ist auf der selben Seite wie der Kalender und soll Events für den ausgewählten Tag anzeigen, möchten man im Kalender blättern, zeigt er darüber eben auch immer den vollen Monat in der Liste an. Für den Benutzer nicht plausibel ...
    Wie hast du es gelöst?
    Geändert von mfn_contao (04.12.2014 um 14:08 Uhr)

  7. #7
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    Zitat Zitat von mfn_contao Beitrag anzeigen
    Für den Benutzer nicht plausibel ...
    Versteh ich nicht so ganz... beim klick auf den Tag wird die Eventliste vom Tag angezeigt, blättert man um einen Monat vor oder zurück wird eine Monatsliste angezeigt (weil damit ja kein Tage mehr ausgewählt ist) - was ist daran bitte nicht plausibel? Ändern läßt sich das im Template einfach die Monatslinks raus und schon gibt es nur noch Tage...

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von magicsepp Beitrag anzeigen
    Versteh ich nicht so ganz... beim klick auf den Tag wird die Eventliste vom Tag angezeigt, blättert man um einen Monat vor oder zurück wird eine Monatsliste angezeigt (weil damit ja kein Tage mehr ausgewählt ist) - was ist daran bitte nicht plausibel? Ändern läßt sich das im Template einfach die Monatslinks raus und schon gibt es nur noch Tage...
    Er will ja, dass die Eventliste nicht auf die Monatsauswahl des Kalenders reagiert.

  9. #9
    Contao-Nutzer
    Registriert seit
    03.11.2014.
    Beiträge
    33

    Standard

    Ja, so meinte ich es Spooky! denn man soll schon im Kalender blättern können, um zu sehen, ob es im nächsten Monat Veranstaltungen gibt, aber die Veranstaltungen selbst (also die Ausgabe in der Eventliste) sollen sich nur beim Klick auf einen Tag ändern.

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Probier' mal folgendes JavaScript:
    PHP-Code:
    $(document).ready( function()
    {
        $(
    '.mod_calendar').on('click''.head a', function(e)
        {
            
    e.preventDefault();
            $(
    '.mod_calendar').load( $(this).attr('href') + ' .mod_calendar > *' );
            return 
    false;    
        });    
    }); 
    Geändert von Spooky (05.12.2014 um 09:56 Uhr)

  11. #11
    Contao-Nutzer
    Registriert seit
    03.10.2010.
    Beiträge
    192

    Standard

    Thema ist zwar schon älter. Problem für mich aber neu :-)
    Frage: Wo muss ich den Javascript denn einbauen?

  12. #12
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.809

    Standard

    Das bleibt Dir überlassen. Da gibt es mehrere Möglichkeiten. Ich würde es im Template des Kalenders machen, weil Du den Code ja nur dort brauchst.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  13. #13
    Contao-Nutzer
    Registriert seit
    19.07.2011.
    Beiträge
    79

    Standard funktioniert das script wirklich?

    ich habe es eingebaut, im kalendertemplate, gleich danach. leider lädt der kalender genau so, wie ohne script:

    https://www.pallottiner-freising.de/...l?month=201901

    weiß jemand eine lösung??

  14. #14
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.583
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, funktioniert.

    Wieso bindest Du das Code-Snippet zweimal auf Deiner Seite ein? Derzeit wird der Code ganz unten am Seitenende direkt auf der Website angezeigt. Es reicht, wenn Du den Code im Template mod_calendar.html5 einfügst.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  15. #15
    Contao-Nutzer
    Registriert seit
    19.07.2011.
    Beiträge
    79

    Standard

    war nur ein versehen, weil ich es zuerst im seiten-theme drinne hatte.
    aber trotzdem: wenn ich oben rechts auf den neuen monat klicke, wird die seite neu geladen. ich sehe das daran, das, wenn ich runtergescrollt bin, dann auf den monat klicke die seite aufflasht und wieder am seitenanfang hängt.

    was tun??

  16. #16
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.583
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Inzwischen scheint es ja zu funktionieren.

    Soweit ich heute Mittag gesehen hatte, gab es einen JavaScript-Fehler, wodurch das Code-Snippet nicht mehr zur Ausführung kam.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  17. #17
    Contao-Nutzer
    Registriert seit
    19.07.2011.
    Beiträge
    79

    Standard

    tatsache, jetzt gehts.
    ich glaube es lag an dem jquery $.noConflict(); wenn man das weglässt gehts.

  18. #18
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    293
    Contao-Projekt unterstützen

    Support Contao

    Standard

    hallo leute,

    habe das gleiche problem wie oligro, bekomme es aber nicht gelöst, wie oligro... nutze contao 4.6.8.

    das ist die seite, auf der ich den minikalender eingebunden habe und die monate umblättern möchte, ohne dass die gesamte seite neu geladen wird: https://www.die-schreibmaus.de/ueber...m?month=201109

    wenn ich das code-snippet in mod_calendar.html5 einbinde (egal wo), lädt die seite trotzdem immer noch komplett neu.
    tatsache, jetzt gehts.
    ich glaube es lag an dem jquery $.noConflict(); wenn man das weglässt gehts.
    wo hast du den jquery-ausdruck gefunden und dann weggelassen? im template ist er jedenfalls nicht zu finden...

    wäre toll, wenn ihr mir hier auch helfen könntet.

    liebe grüße, grashalm
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Poste einen Link zur Seite.

  20. #20
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.376
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hat er doch ... ;-)

  21. #21
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    293
    Contao-Projekt unterstützen

    Support Contao
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  22. #22
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    23

    Standard

    Das Snippet von Spooky funktioniert auch mit mehreren Kalendern auf einer Seite, wenn jeder Kalender in einem eigenen Container liegt:

    Code:
    $('.container .mod_calendar').on('click', '.head a', function(e)
      {
          e.preventDefault();
          $('.container .mod_calendar').load( $(this).attr('href') + ' .container .mod_calendar > *' );
          return false;
      });

  23. #23
    Contao-Nutzer
    Registriert seit
    03.01.2013.
    Beiträge
    41

    Standard Minikalender soll nicht laden

    Hola,
    ich würde gerne alles nicht-laden lassen.... Also nicht nur, wenn ich durch die Monate blättere, sondern auch, wenn ich auf die Tage klickt und der EVentleser erscheint.

    Kann sich einer vorstellen, wie das funktionieren könnte?

  24. #24
    Contao-Nutzer Avatar von mandrael
    Registriert seit
    29.06.2009.
    Ort
    Salzburg, Austria
    Beiträge
    226

    Standard

    Hi,
    ich habe gesehen, dass der Kalender auf der Pallottiner-Seite die Seite beim Monatswechsel noch neu lädt, das Problem also nicht behoben ist. Daher hier das komplette modifizierte Template, wie es bei mir letztendlich funktioniert hat:

    mod_calendar.html5
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

      <?= $this->calendar ?>

    <script>
    $(document).ready( function()
    {
        $('.mod_calendar').on('click', '.head a', function(e)
        {
            e.preventDefault();
            $('.mod_calendar').load( $(this).attr('href') + ' .mod_calendar > *' );
            return false;    
        });    
    }); 
    </script>

    <?php $this->endblock(); ?>
    Liebe Grüße, Michael
    Geändert von mandrael (20.07.2021 um 13:38 Uhr)

  25. #25

  26. #26
    Contao-Nutzer Avatar von MuellerM
    Registriert seit
    28.04.2016.
    Ort
    Baden-Württemberg
    Beiträge
    51

    Standard Don't forget to activate ajax reload on the module.

    In der Anleitung steht "Don't forget to activate ajax reload on the module." Wie macht man das denn? Hat jemand einen Tipp? Egal welche Lösung aus dem Forum ich probiere, keine funktioniert.

    *Edit Ich habe es jetzt mit dem Script von Spooky hinbekommen. Mein Fehler war, das in meinem Template die Klasse mit Bindestrich ist "m-calendar".
    Geändert von MuellerM (08.05.2024 um 15:50 Uhr)

  27. #27
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    496

    Standard

    Du musst noch den Code in das Template cal_default.html5 einfügen, der bei der Erweiterung für den Kalender erwähnt ist.

    Code:
    <script>
        $(".calendar .head.previous a, .calendar .head.next a").click(function (event) {
            var element;
            // Get url of next/previous month
            var $url = window.location.origin + '/' + $(this).attr('href');
            // Don't follow the link
            event.preventDefault();
            // This is the element's div container like ".mod_my_module". "Allow ajax reload" has to be enabled for this module in the back end
            element = $(this).closest('[class^="ce_"],[class^="mod_"]');
            // Add a css class to this element. An overlay and spinning icon can be set via css.
            element.addClass('ajax-reload-element-overlay');
            
            $.ajax({
                method: 'POST',
                url: $url,
                data: {
                    // The data- attribute is set automatically
                    ajax_reload_element: element.attr('data-ajax-reload-element')
                }
            })
                .done(function (response, status, xhr) {
                    if ('ok' === response.status) {
                        // Replace the DOM
                        element.replaceWith(response.html);
                    } else {
                        // Reload the page as fallback
                        location.reload();
                    }
                });
        });
    </script>

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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