Ergebnis 1 bis 7 von 7

Thema: IF Abfrage funktioniert nach Speichern eines ITEM nicht mehr korrekt

  1. #1
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard IF Abfrage funktioniert nach Speichern eines ITEM nicht mehr korrekt

    In meinem Template frage ich mit IF ob das Attribut "Vorverkauf" in dem Item einen Inhalt hat mit dem folgenden Code.

    PHP-Code:
                <?php if ($arrItem['raw']['vorverkauf']): ?>
                <div class="field mm_category">
                    <span>Vorverkauf</span>
                </div>
                <div class="mm_category_list">
                    <div class="field vorverkauf">
                        <span class="value"><?php echo $arrItem['html5']['vorverkauf']; ?></span>
                    </div>
                </div>    
                <?php endif; ?>
    Das funktioniert auch wunderbar bis ich ein Item zum ersten Mal speichere. Dann scheint die IF Bedingung nicht mehr korrekt zu funktionieren, denn wenn ich bei dem Attribut auch nichts eingegeben habe in dem Item, wird trotzdem der Code ausgegeben.

    HTML-Code:
    <div class="field mm_category">
    	<span>Vorverkauf</span>
    </div>
    <div class="mm_category_list">
           <div class="field vorverkauf">
                <span class="value"></span>
           </div>
    </div>
    Geändert von stephangunnar (14.08.2014 um 17:18 Uhr)
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

  2. #2
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard

    Moin,

    mach einmal ein var_dump auf die var und schau nach ob sie wirklich leer ist. Ansonsten empfehle ich die Prüfung mit empty.

  3. #3
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    Zitat Zitat von chibineko Beitrag anzeigen
    Moin,

    mach einmal ein var_dump auf die var und schau nach ob sie wirklich leer ist. Ansonsten empfehle ich die Prüfung mit empty.
    Okay, ich muss zugeben, daß ich noch nie einen var_dump gemacht, aber wenn ich das richtig interpretiere, ist die Variable nicht leer.

    Code:
    ["vorverkauf"]=>
            array(2) {
              [0]=>
              string(0) ""
              [1]=>
              string(0) ""
    Jetzt versuche ich das mal mit empty.
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

  4. #4
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    PHP-Code:
        <!-- Vorverkauf -->
                <?php if(!empty($arrItem['raw']['vorverkauf'])): ?>
                <div class="field mm_category">
                    <span>Vorverkauf</span>
                </div>
                <div class="mm_category_list">
                    <div class="field vorverkauf">
                        <span class="value"><?php echo $arrItem['html5']['vorverkauf']; ?></span>
                    </div>
                </div>    
                <?php endif; ?>
    Wie ich feststellen konnte mit der Gegenprobe mit empty statt !empty ist die Variable tatsächlich nicht leer. Wen ich mir den var_dump ansehe ist das immer nur der Fall wenn das Attribut vom Typ "url" ist. Was kann man jetzt tun?
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

  5. #5
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    Ich habe es auch zwischenzeitlich schon wie folgt versucht ...

    PHP-Code:
    <!-- Vorverkauf -->
                <?php  if(!empty($arrItem['raw']['vorverkauf'])) 
                 echo 
    "<div class="field mm_category">";
                 echo 
    "<span>Vorverkauf</span>";
                 echo 
    "</div>";
                 echo 
    "<div class="mm_category_list">";
                 echo    
    "<div class="field vorverkauf">"
                 
    echo        "<span class="value">".$arrItem['html5']['vorverkauf']."</span>";
                 echo    
    "</div>";
                 echo 
    "</div>";
                 endif; 
    ?>
    ... aber da erhalte ich den folgenden Fehler

    Code:
    Parse error: syntax error, unexpected 'field' (T_STRING), expecting ',' or ';' in /kunden/schlachthof-wiesbaden.de/webseiten/contao32X/templates/folklore-wiesbaden/metamodel_prerendered_test.html5 on line 75
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

  6. #6
    Contao-Nutzer Avatar von delirius
    Registriert seit
    17.01.2011.
    Ort
    Aarau
    Beiträge
    175
    Partner-ID
    6722

    Standard

    vorverkauf scheint auch ein Array zu sein, versuche noch ein Array tiefer abzufragen:

    Code:
    $arrItem['raw']['vorverkauf'][0] oder
    $arrItem['raw']['vorverkauf'][1]
    Daniel Herren www.delirius.ch

  7. #7
    Contao-Nutzer Avatar von stephangunnar
    Registriert seit
    12.11.2009.
    Ort
    Wiesbaden
    Beiträge
    187

    Standard

    Danke, das war´s
    Meine aktuellen Projekte :
    http://sadhya.stephanmichel.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)
    http://das6040.de Contao Core (3.5.X) mit Contao Bootstrap (1.0.0)

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
  •