Ergebnis 1 bis 5 von 5

Thema: getAllEvents Hook

  1. #1
    Contao-Nutzer
    Registriert seit
    03.12.2014.
    Beiträge
    21

    Standard getAllEvents Hook

    Hallo community,

    ich verwende den getAllEvents Hook um Events filtern zu können. Dies funktioniert auch bestens.
    PHP-Code:
    class DaitEventFilter extends Frontend
    {
        public function 
    filterEventsByWhatever($arrEvents$arrCalendars$intStart$intEnd$objModule
        {

            
    // filter events
        
    }

    Jetzt möchte ich dem Filterergebnis noch eine Überschrift oder Nachricht mitgeben. Hierfür habe ich das Template mod_calendar wie folgt angepasst:
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php if ($this->searchMessage): ?>
        <div class="dait-event-search">
            <p class="dait-eventsearch-message"><?= $this->searchMessage ?></p>
        </div>
    <?php endif; ?>

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

      <?= $this->calendar ?>
      
      
    <?php $this->endblock(); ?>
    Nur bekomme ich es einfach nicht gebacken innerhalb des getAllEvent Hooks auf das Template zuzugreifen. Ich dachte irgend etwas in der folgenden Art wäre eventuell möglich:
    PHP-Code:
    public function filterEventsByWhatever($arrEvents$arrCalendars$intStart$intEnd$objModule
        {

            
    // filter events
            
    ...

            
    $objModule->Template->searchMessage "Filterergebnis"// geht nicht
            // alternativ
            
    $this->Template->searchMessage "Filterergebnis"// geht auch nicht
        

    Ich stehe hier einfach auf dem Schlauch. Bin für jede Hilfe dankbar.

    Viele Grüße
    dait
    Geändert von dait (11.05.2017 um 13:01 Uhr)

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

    Standard

    Ob
    PHP-Code:
    $objModule->Template->searchMessage "Filterergebnis"
    funktioniert kann ich dir nicht sagen.

    Allerdings ist glaube ich dein Modul Template falsch. Sollte wohl eher so aussehen:
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

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

      <?php if ($this->searchMessage): ?>
        <div class="dait-event-search">
          <p class="dait-eventsearch-message"><?= $this->searchMessage ?></p>
        </div>
      <?php endif; ?>

      <?= $this->calendar ?>
      
    <?php $this->endblock(); ?>

  3. #3
    Contao-Nutzer
    Registriert seit
    03.12.2014.
    Beiträge
    21

    Standard

    Danke für Deine Antwort. Ich habe das Template mal entsprechend angepasst. Es ändert leider nichts am Ergebnis.

    Ich glaube der Fehler liegt daran, dass ich innerhalb des Hooks nicht auf das original mod_calendar Template zugreifen kann?! Zumindest, weiß ich nicht wie???

  4. #4
    Contao-Nutzer
    Registriert seit
    03.12.2014.
    Beiträge
    21

    Standard Hhm - Keiner eine Idee?

    Sorry - wenn ich nochmals nachfrage. Hat niemand eine Idee, wie ich innerhalb des Hooks auf das Template von mod_calendar zugreiffen kann?

    Ich bräuchte wirklich dringend Hilfe und bin über jeden Vorschlag dankbar.

    Vielen Dank!

  5. #5
    Contao-Nutzer Avatar von eki89
    Registriert seit
    20.04.2016.
    Beiträge
    41
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo dait,

    über den getAllEvents Hook wirst du das Template vermutlich nicht umschreiben können. Dieser Hook wird, wie der Name schon sagt, aufgerufen, sobald alle Events abgefragt werden. Klar kannst du hier die Ergebnisliste reduzieren usw, das Template wird allerdings erst später geschrieben. Um dies zu modifizieren, brauchst du demnach einen Hook wie den parseFrontendTemplate oder outputFrontendTemplate Hook.

    Ich hoffe ich konnte Helfen.

    Gruß

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
  •