Ergebnis 1 bis 7 von 7

Thema: Eigenes Template für verknüpfte MM und Sonderzeichen

  1. #1
    Contao-Nutzer Avatar von quenn
    Registriert seit
    28.03.2013.
    Ort
    Köln
    Beiträge
    135

    Frage Eigenes Template für verknüpfte MM und Sonderzeichen

    Hallo zusammen,

    ich habe mit MetaModels einen Konzertkalendar für einen Musiker gebaut. In mm_spielorte trägt er Veranstaltungsorte inkl. Stadt, URL und Land ein, die er später in mm_konzerte per drop-down auswählen kann. Für die Frontendansicht von mm_konzerte habe ich nun ein eigenes Template gebaut, das sich je nach ausgewähltem Spielort aus mm_spielorte die dazugehörigen Daten holt. Das funktioniert soweit, aber sobald der Eintrag "spielort" Sonderzeichen enthält, bricht das Frontend zusammen. Bei Sonderzeichen im Eintrag "stadt" ist das nicht der Fall. Hier mein Template:

    PHP-Code:
    <?php if (count($this->data)): /* display only if there is data. */ ?>
    <?php $arrItem 
    $this->data[0]; /* fetch first item for title columns. */ ?>

    <table class="termintabelle">
     
    <tbody>
    <?php?>
    <?php foreach ($this->data as $arrItem): /* loop over all items. */ ?>
      
    <?php
    $objMetaModel 
    MetaModelFactory::byTableName('mm_spielorte');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('alias'), $arrItem['text']['spielort'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter);  
    ?>

    <tr>
        <td><?php echo $arrItem['text']['datum']; ?></td>
        <td><?php echo $objItems->getItem()->get('stadt'); ?> / <?php echo $objItems->getItem()->get('land'); ?></td>
        <td><?php echo $arrItem['text']['band']; ?></td>
        <td><a href="<?php $adresse $objItems->getItem()->get('url'); echo $adresse[1]; ?>" title=""><?php echo $arrItem['text']['spielort']; ?></a></td>
    </tr>

     <?php endforeach; /* item loop */ ?>
    </tbody>
    </table>
     
    <?php endif; ?>
    Ich habe im Prinzip noch keine Ahnung von PHP und habe mir das Template aus 2 Beiträgen hier im Forum zusammengeschustert. Ansonsten ist die Datenbank auf utf8_general_ci gestellt. Muss ich vielleicht noch irgendwo etwas auf utf8 stellen?

    Vielen Dank für jede Hilfe,
    Gruß,
    Kenn

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

    Support Contao

    Standard

    "... bricht das Frontend zusammen" heißt genau was?

  3. #3
    Contao-Nutzer Avatar von quenn
    Registriert seit
    28.03.2013.
    Ort
    Köln
    Beiträge
    135

    Standard

    Die Seite wird gar nicht dargestellt, ich sehe nur die die ersten funktionierenden Einträge der Konzertliste ungestylt auf weißem Hintergrund. Firebug sagt NetworkError: 500 Internal Server Error

  4. #4
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Das Problem hat nix mit einer Codierung zu tun, sondern der get-Methode

    Hab jetzt was hinbekommen ...


    Dein

    HTML-Code:
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('alias'), $arrItem['text']['spielort'], $objMetaModel->getAvailableLanguages()));

    muss in Richtung

    PHP-Code:
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('alias'), $arrItem['raw']['xxxx']['spielort'], $objMetaModel->getAvailableLanguages())); 
    xxxx steht dabei für die Verknüpfung deiner MMs, also dem Attributnamen des select-Feldes. Probier das mal bitte.


    Breche mir da auch gerade übelst die Finger dran. Schau mal hier nach, da hat sich noch jemand durchgebissen ...
    Geändert von datenkind (06.09.2013 um 12:26 Uhr)

  5. #5
    Contao-Nutzer Avatar von quenn
    Registriert seit
    28.03.2013.
    Ort
    Köln
    Beiträge
    135

    Standard

    Zitat Zitat von datenkind Beitrag anzeigen
    Das Problem hat nix mit einer Codierung zu tun, die get-Methode funktioniert einfach nicht, obwohl das hier dauernd propagiert wird.

    Bei dir kommt sicher auch

    PHP-Code:
    Fatal errorCall to a member function get() on a non-object in ... 
    Wo soll das stehen? habe das weder auf der "zusammengebrochenen" Seite, noch in Firebug. Es hat bei mir im Prinzip super funktioniert, bis ich zufällig einen Eintrag mit ß erstellt habe.

  6. #6
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Hast du
    PHP-Code:
    $GLOBALS['TL_CONFIG']['displayErrors'] = true
    in der Config stehen?

  7. #7
    Contao-Nutzer Avatar von quenn
    Registriert seit
    28.03.2013.
    Ort
    Köln
    Beiträge
    135

    Standard

    Yo, DisplayErrors war auf false. Auf die Schnelle klappt es jetzt leider nicht direkt mit deinem angepasstem Code, ich werde dann mal versuchen den Thread nachzuvollziehen, den du gepostet hast. Vielen Dank schonmal!

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
  •