haralambos: if Anweisung über mehrere div

Hallo Leute,

ich brauche Hilfe bei der Erstellung von einer if Anweisung. So sieht der Code Momentan aus:

<?php
                        $infobox_text = page_content(17);
                        if (!empty($infobox_text)) {
                            ?>
                            <div class="content-infobox">
                                <div class="infobox">
                                    <div class="infobox-text">
                                        <?php echo $infobox_text; ?>
                                    </div>
                                </div>
                                <div class="infobox-leiste">
                                    <div class="infobox-leistentext">
                                        <?php page_content(18); ?>
                                    </div>
                                </div>
                            </div>
                        <?php } ?>

Unter page_content 17 steht nicht auf jeder Seite ein Textinhalt. Daher soll der gesamte div content-infobox inkl. aller in css programmierten sytles nur angezeigt werden, wenn in page_content 17 auch Text hinterlegt ist (der Text wird über ein CMS eingefügt und dieser Abschnit ist dem page_content 17 zugewiesen).

Habt ihr Fragen? Fragen.

Ich würde mich echt freuen, wenn ich Hilfestellung bekomen könnte, da ich mit den if-Anweisungen nicht vertraut bin und alle bisher gesehenen Seiten nicht weitergeholfen haben.

  1. Hi,

    Habt ihr Fragen?

    jede Menge. Du aber anscheinend nicht, oder? Zumindest hast du keine gestellt, und mir ist nicht klar, was eigentlich dein momentanes Problem ist. PHP-Syntax? Template-Baumuster?

    Ciao,
     Martin

    --
    Man ist so alt, wie man sich fühlt.
    Aber niemals so wichtig.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi Martin,

      sorry. Zur Info: Der Text liegt in einer auf css erstellten Box mit Rahmen und Abschlußleiste. Damit der Text im Rahmen ist habe ich das Layout mit weiteren divs erstellt:

      <?php
                              $infobox_text = page_content(17);
                              if (!empty($infobox_text)) {
                                  ?>
                                  <div class="content-infobox">
                                      <div class="infobox">
                                          <div class="infobox-text">
                                              <?php echo $infobox_text; ?>
                                          </div>
                                      </div>
                                      <div class="infobox-leiste">
                                          <div class="infobox-leistentext">
                                              <?php page_content(18); ?>
                                          </div>
                                      </div>
                                  </div>
                                  <?php
                              }
                              ?>

      Der Text wird auch angezeigt. Aber die divs bleiben bei diesere Variante der if Anweisung weiter verborgen.

      Meine Frage: Wie muss ich die Anweisung so umstellen, das im Prinzip bei existierendem Text in "infobox-text" alle divs innerhalb der Abfrage ebenfalls angezeigt werden. Also das das Layout auch auf dem Bildschirm zu sehen ist.

      Danke und Gruß
      Harry

      Hi,

      Habt ihr Fragen?

      jede Menge. Du aber anscheinend nicht, oder? Zumindest hast du keine gestellt, und mir ist nicht klar, was eigentlich dein momentanes Problem ist. PHP-Syntax? Template-Baumuster?

      Ciao,
      Martin

      1. Hallo,

        Der Text wird auch angezeigt. Aber die divs bleiben bei diesere Variante der if Anweisung weiter verborgen.

        Also wenn die divs verborgen sind kannst du auch keinen darin enthaltenen Text sehen. Entweder siehst du Text, der außerhalb deines geposteten Code-Snippets eingebunden wird oder irgendwas wird per CSS versteckt.

        vg ichbinich

        --
        Kleiner Tipp:
        Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...
  2. Also rein Syntaktisch sieht das alles gut aus.
    Mach weiter so !

    Gruß
    Applaus spendierende
    T-Rex

  3. Hallo,

    ich würde die Einrückungen etwas ändern, dann sieht man besser, was zusammengehört:

    | <?php  
    
    >                         $infobox_text = page_content(17);  
    >                         if (!empty($infobox_text)) {  
    > ?>  
    >                             <div class="content-infobox">  
    >                                 <div class="infobox">  
    >                                     <div class="infobox-text">  
    >                                         <?php echo $infobox_text; ?>  
    >                                     </div>  
    >                                 </div>  
    >                                 <div class="infobox-leiste">  
    >                                     <div class="infobox-leistentext">  
    >                                         <?php page_content(18); ?>  
    >                                     </div>  
    >                                 </div>  
    >                             </div>  
    > <?php  
    >                         }  
    > ?>
    
    

    vg ichbinich

    --
    Kleiner Tipp:
    Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...
  4. @@haralambos:

    nuqneH

    ich brauche Hilfe bei der Erstellung von einer if Anweisung.

    Dafür ist die alternative Syntax für Kontrollstrukturen da:

    <?php  
    [code lang=php]    $infobox_text = page_content(17);
    

    if (!empty($infobox_text)):
    ?>
        <div class="content-infobox">
            <div class="infobox">
                <div class="infobox-text">
                    <?php echo $infobox_text; ?>
                 </div>
            </div>
            <div class="infobox-leiste">
                <div class="infobox-leistentext">
                    <?php page_content(18); ?>
                </div>
            </div>
        </div>
    <?php endif; ?>[/code]

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  5. <?php
                            $infobox_text = page_content(17);
                            if (!empty($infobox_text)) {
                                ?>
                                <div class="content-infobox">
                                    <div class="infobox">
                                        <div class="infobox-text">
                                            <?php echo $infobox_text; ?>
                                        </div>
                                    </div>
                                    <div class="infobox-leiste">
                                        <div class="infobox-leistentext">
                                            <?php page_content(18); ?>
                                        </div>
                                    </div>
                                </div>
                            <?php } ?>

    Ganz ehrlich?

    Ich halte dieses permanente ein- und ausschalten des php-interpreters für unsinnig und nur schwer lesbar.

    Eddi

    1. Tach!

      Ganz ehrlich?
      Ich halte dieses permanente ein- und ausschalten des php-interpreters für unsinnig und nur schwer lesbar.

      Ein Wechsel zwischen zwei Systemen muss immer irgendwie gekennzeichnet werden. Um irgendeine Form des Ein- und Ausschaltens kommt man nicht herum. Wenn dir Länge der Sequenz "<?php echo" zu lang ist, dagegen gibt es ab PHP 5.4 dauerhaft Abhilfe, denn ab da ist die Kurzform <?= unabschaltbar aktiviert.

      dedlfix.