Contao-Summit 2026
Ergebnis 1 bis 6 von 6

Thema: calendar mit Veranstaltungsorten in neuer Tabelle - Daten nicht im Template

  1. #1
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard calendar mit Veranstaltungsorten in neuer Tabelle - Daten nicht im Template

    Ich habe die Events mit folgendem Feld erweitert.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['venue'] = array
    (
        
    'label'                   => &$GLOBALS['TL_LANG']['tl_calendar_events']['venue'],
        
    'exclude'                 => true,
        
    'inputType'               => 'select',
        
    'foreignKey'              => 'tl_calendar_events_places.CONCAT(title," - ",address)',
        
    'eval'                    => array('chosen'=>true'includeBlankOption'=>true),
        
    'sql'                     => "int(10) unsigned NOT NULL default '0'",
        
    'relation'                => array('type' => 'hasOne''load' => 'eager')
    ); 
    Leider fehlt mir die Relation - ich bekomme nur die ID im Template.

    Warum wird die Relation nicht geladen? Muss ich mir das Model hier selbst erstellen und per getRelated() die Daten holen?

    PHP-Code:
    $objEvent CalendarEventsModel::findByPk($this->id);
    var_dump($objEvent->getRelated('venue')); 
    Sieht im Template hässlich aus.

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.476
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Natürlich musst du die Daten selber holen, wer sollte es denn sonst tun?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Toflar Beitrag anzeigen
    Natürlich musst du die Daten selber holen, wer sollte es denn sonst tun?
    Wird ein in Beziehung (nur *hasOne* oder *belongsTo*) stehendes Objekt „eager“ geladen, erstellt der QueryBuilder automatisch ein OUTER JOIN-Query und lädt die Objekte in einer einzigen Datenbank- Abfrage.
    Ich hatte eigentlich gehofft dass es das Model so selbst tut?

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.476
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    "eager" heisst nur, es wird mitgejoint und ist automatisch in der Model-Registry. Das heisst aber doch nicht, dass die Werte im Template ankommen?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Bin das letzte Jahr wohl zuviel fremdgegangen, im anderen System ging das automatisch.
    Danke.

  6. #6
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.476
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Schlingel!

    Übrigens: Nutz den parseTemplate-Hook um die Variable zur Verfügung zu stellen, damit dein Kunde nicht überrascht über einen direkten Model-Zugriff ist
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

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
  •