Ergebnis 1 bis 7 von 7

Thema: 2 Bedingungen nebeneinander

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

    Standard 2 Bedingungen nebeneinander

    Hallo,

    ich versuche, eine Variable zu definieren ($innerContent), die aus zwei Bedingungen besteht. Leider wird nur die erste Bedingung akzeptiert und bei der anderen nur das Bild ohne den HTML-Code für die Markierung "reserviert". Meine Frage ist deshalb, wie kriege ich hin, dass zwei Bedingungen nebeneinander funktionieren können und dann erst nur das Bild ausgegeben wird, wenn keine der Bedingungen davon zutrifft?

    Eingabe

    PHP-Code:
    $image = (string)$this->cObj->IMAGE($pconfig);
    $ausverkauftInfo '<div class="ausverkauft"><div class="ausverkauft-text"><p>verkauft</p></div></div>'.$image;
    $reserviertInfo '<div class="reserviert"><div class="reserviert-text"><p>reserviert</p></div></div>'.$image;
    $verkauft = ($value{'ausverkauft'} == "1") ? $ausverkauftInfo $image;
    $reserviert = ($value{'reserviert'} == "1") ? $reserviertInfo $image;
    $innerContent $verkauft or $reserviert
    Ausgabe

    PHP-Code:
    $content .= '
            <h2>'
    .trim($value{'bezeich'}).'</h2>
            <div class="photo">
            <div class="image_container">
            '
    .$innerContent.'
            </div>
            </div>
            <div class="text">
                <div class="spalte_1">
                <h3>Beschreibung:</h3>
                <p class="info">'
    .$value{'zusatztext'}.'</p> 
                <p class="artikelnummer">Art.-Nr. '
    .$value{'artnr'}.'</p>
                </div>
                <div class="spalte_2">
                    <h3>Informationen:</h3>
                    <p class="info">'
    .$value{'ausf'}.'</p>
                    <p class="ursprungspreis">
                    <span class="durchgestrichen"></span>
                    '
    .number_format($value{'vk_ab_brut'}, 0'''.').',- €
                    </p>
                </div>
                <div class="spalte_3">
                <div class="sonderpreis">
                <p>Sonderpreis:<br>
                <span class="preis">'
    .number_format($value{'vk_brutto'}, 0'''.').',- €</span>
                </p>
                    </div>
                </div>
            </div>
        '

    Geändert von jenda (02.06.2015 um 11:29 Uhr)

  2. #2
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    Zitat Zitat von jenda Beitrag anzeigen
    wenn keine der Bedingungen davon zutrifft?
    PHP-Code:
    $innerContent $verkauft or $reserviert
    Ich kenne php nicht aber vielleicht muss das dann eher heissen:
    PHP-Code:
    $innerContent NOT($verkauft AND $reserviert); 
    falls es sowas überhaupt in php gibt.

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

    Standard

    Danke, leider kenne ich mich mit PHP auch nicht so gut aus, daher komme ich nicht weiter. Manchmal wünsche ich mir mehr einfache Dokumentationen, die nicht nur für Nerds geschrieben sind.

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

    Standard

    PHP-Code:
    $innerContent = ( $verkauft || $reserviert ) ? ( $verkauft?: $reserviert ) : $image

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

    Standard

    Danke, Spooky, wie immer sehr schnell und hilfreich.

    Wenn ich es richtig verstehe, muss ich nun die Bildausgabe bei den folgenden Variablen entfernen, oder?

    PHP-Code:
    $verkauft = ($value{'ausverkauft'} == "1") ? $ausverkauftInfo $image;
    $reserviert = ($value{'reserviert'} == "1") ? $reserviertInfo $image
    Die Ausgabe sollte entweder (verkauft)

    HTML-Code:
    <div class="photo">
    <div class="image_container">
    <div class="ausverkauft"><div class="ausverkauft-text"><p>verkauft</p></div></div>
    <img src="bild.jpg" width="518" height="400" alt="">
    </div>
    </div>
    oder (reserviert)

    HTML-Code:
    <div class="photo">
    <div class="image_container">
    <div class="reserviert"><div class="reserviert-text"><p>reserviert</p></div></div>
    <img src="bild.jpg" width="518" height="400" alt="">
    </div>
    </div>
    oder nur mit Bild ohne jegliche Markierung sein

    HTML-Code:
    <div class="photo">
    <div class="image_container">
    <img src="bild.jpg" width="518" height="400" alt="">
    </div>
    </div>
    Geändert von jenda (02.06.2015 um 12:38 Uhr)

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

    Standard

    Hmja, oder einfach so das Ganze:
    PHP-Code:
    $image = (string)$this->cObj->IMAGE($pconfig);
    $innerContent '';
    if( 
    $value->ausverkauft == '1' $innerContent '<div class="ausverkauft"><div class="ausverkauft-text"><p>verkauft</p></div></div>';
    elseif( 
    $value->reserviert == '1' $innerContent '<div class="reserviert"><div class="reserviert-text"><p>reserviert</p></div></div>';
    $innerContent.= $image
    Laut deinem Originalen Code soll das Bild ja in jedem Fall ausgegeben werden, oder nicht?

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

    Standard Lösung

    Ich habe es gelöst. Innerhalb der Bedingungsdefinition mussten die Klammer anders sein, also diese Art {}. Hier die Lösung:

    PHP-Code:
    $image = (string)$this->cObj->IMAGE($pconfig); 
    $innerContent ''
    if( 
    $value{'ausverkauft'} == '1' $innerContent '<div class="ausverkauft"><div class="ausverkauft-text"><p>verkauft</p></div></div>'
    elseif( 
    $value{'reserviert'} == '1' $innerContent '<div class="reserviert"><div class="reserviert-text"><p>reserviert</p></div></div>'
    $innerContent.= $image
    Vielen Dank, Spooky, wieder etwas Neues gelernt.
    Geändert von jenda (02.06.2015 um 13:21 Uhr) Grund: Lösung

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
  •