typisches echo-Problem (Anführungszeichen)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by h3ll View Post
    Ein fopen hat in einem View nix verloren! Das gehört zur Verarbeitung und nicht zur Ausgabe.
    Herrgott, das war nur ein Beispiel!!!
    Originally posted by h3ll View Post
    Und Anfänger verhaspeln sich ständig mit irgendwelchen gigantischen echo-Kontruktionen, wie man hier und in anderen Foren sieht. Also würd ich gern wissen, wo der Mehrwert von echo für Anfänger liegen soll.
    Weil ein
    PHP Code:
    <?php
      
    if ($bla == $blubb)
      {
        echo 
    '<strong>irgendwas</strong>';
      }
      else
      {
        echo 
    '<strong>sonstwas</strong>';
      }
    ?>
    viel einfacher zu überblicken ist als ein
    PHP Code:
    <?php
      
    if ($bla == $blubb)
      {
    ?>
      <strong>irgendwas</strong>
    <?php
      
    }
      else
      {
    ?>
      <strong>sonstwas</strong>
    <?php
      
    }
    ?>
    Und jetzt sag bitte nicht, dass Logik im View nichts zu suchen hat. Das weiß ich, das weißt du, aber Anfänger vor allem Autodidakten wissen das nicht. Und immer daran denken. Nicht jeder studiert Informatik. Und ist Zend-geschädigt .

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #17
      Originally posted by sAks View Post
      Hallo,
      habe ein kleines Problemchen:

      in diesem Bereich gehören normal einfache Anführungszeichen, aber da ich sie als echo-Klammern nutze, geht das nicht. Abhilfe?
      PHP Code:
      ("edit.php","MyWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=675,height=400"
      Danke im Voraus.
      sAks
      Also mein Rat wäre:
      a) die einfachen Anführungszeichen maskieren \'
      oder
      b) alles umdrehen und doppelte Anführungszeichen fürs echo nehmen.

      Comment


      • #18
        PHP Code:
        <?php if ($bla == $blubb): ?>
            <strong>irgendwas</strong>
        <?php else: ?>
            <strong>sonstwas</strong>
        <?php endif; ?>
        PHP Code:
        <strong><?= ($bla == $blubb) ? 'irgendwas' 'sonstwas' ?></strong>

        Comment


        • #19
          Originally posted by h3ll View Post
          PHP Code:
          <?php if ($bla == $blubb): ?>
              <strong>irgendwas</strong>
          <?php else: ?>
              <strong>sonstwas</strong>
          <?php endif; ?>
          PHP Code:
          <strong><?= ($bla == $blubb) ? 'irgendwas' 'sonstwas' ?></strong>
          Gibt spätestens bei zusätzlichen Verschachtelungen Probleme. Und wie gesagt, immer an open_short_tags denken.

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Comment


          • #20
            Originally posted by Kropff View Post
            Gibt spätestens bei zusätzlichen Verschachtelungen Probleme. Und wie gesagt, immer an open_short_tags denken.
            h3ll hat zwei Beispiele gepostet. Würde persönlich auch das obere vorziehen, da gibt es auch kein Problem mit short_open_tags (so heißt die Einstellung ).

            Dein Beispiel mit dem fopen verstößt natürlich gegen jedes EVA-Prinzip und MVC. Nur weil jeder Anfänger mit einfachen echos anfängt, muss dies nicht auf ewig so bleiben. Gerade in so einfachen Fällen sollte wenigstens einmal die "schöne" Lösung gezeigt werden, wenn es hier schon um so grundlegendes wie einfache, doppelte Anführungszeichen sowie korrekte Stringverkettung geht.

            Comment


            • #21
              Originally posted by PHP-Desaster View Post
              h3ll hat zwei Beispiele gepostet. Würde persönlich auch das obere vorziehen, da gibt es auch kein Problem mit short_open_tags (so heißt die Einstellung ).
              Er ist halt nicht mehr der Jüngste, lass ihn
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Comment


              • #22
                Originally posted by unset View Post
                Er ist halt nicht mehr der Jüngste, lass ihn
                Ok, wollen wir mal nicht so sein ^^ Sei dem Kropff verziehen.

                Comment


                • #23
                  Originally posted by unset View Post
                  Er ist halt nicht mehr der Jüngste, lass ihn
                  Dafür bin ich der Anfängerversteher.
                  Originally posted by PHP-Desaster View Post
                  Dein Beispiel mit dem fopen verstößt natürlich gegen jedes EVA-Prinzip und MVC.
                  Ich habe doch gesagt, dass das nur irgendein Beispiel war. Was die Schreibweise von h3ll angeht, mal ein Beispiel-Template aus dem Magento-Shop. Also wer das übersichtlich findet, naja. Ich finde es einfach nur grauenhaft.
                  PHP Code:
                  <?php $_product $this->getProduct() ?>
                  <?php 
                  list($_minimalPrice$_maximalPrice) = $_product->getPriceModel()->getPrices($_product?>
                  <?php $_id 
                  $_product->getId() ?>

                  <?php $_minimalPriceTax Mage::helper('tax')->getPrice($_product$_minimalPrice); ?>
                  <?php $_minimalPriceInclTax 
                  Mage::helper('tax')->getPrice($_product$_minimalPricetrue); ?>

                  <div class="price-box">
                    <?php if ($_product->getPriceView()): ?>
                      <p class="minimal-price">
                        <span class="price-label"><?php echo $this->__('As low as'?>:</span>
                        <?php if ($this->helper('tax')->displayBothPrices() && $this->isRatesGraterThenZero()): ?>
                          <span class="price-excluding-tax">
                            <span class="label"><?php echo Mage::helper('tax')->__('Excl. Tax:'?></span>
                            <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                          </span>
                          <span class="price-including-tax">
                            <span class="label"><?php echo Mage::helper('tax')->__('Incl. Tax:'?></span>
                             <?php echo Mage::helper('core')->currency($_minimalPriceInclTax?>
                          </span>
                      </p>
                      <?php else: ?>
                      <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                      </p>
                    <?php endif; ?>
                    <?php else: ?>
                      <?php if ($_minimalPrice <> $_maximalPrice): ?>
                      <p class="price-from">
                          <span class="price-label"><?php echo $this->__('From'?>:</span>
                          <?php if ($this->helper('tax')->displayBothPrices() && $this->isRatesGraterThenZero()): ?>
                            <span class="price-excluding-tax">
                              <span class="label"><?php echo Mage::helper('tax')->__('Excl. Tax:'?></span>
                              <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                            </span>
                            <span class="price-including-tax">
                              <span class="label"><?php echo Mage::helper('tax')->__('Incl. Tax:'?></span>
                               <?php echo Mage::helper('core')->currency($_minimalPriceInclTax?>
                            </span>
                          <?php else: ?>
                            <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                          <?php endif; ?>
                      </p>
                      <?php $_maximalPriceTax Mage::helper('tax')->getPrice($_product$_maximalPrice); ?>
                      <?php $_maximalPriceInclTax Mage::helper('tax')->getPrice($_product$_maximalPricetrue); ?>
                      <p class="price-to">
                        <span class="price-label"><?php echo $this->__('To'?>:</span>
                        <?php if ($this->helper('tax')->displayBothPrices() && $this->isRatesGraterThenZero()): ?>
                          <span class="price-excluding-tax">
                            <span class="label"><?php echo Mage::helper('tax')->__('Excl. Tax:'?></span>
                            <?php echo Mage::helper('core')->currency($_maximalPriceTax?>
                          </span>
                          <span class="price-including-tax">
                            <span class="label"><?php echo Mage::helper('tax')->__('Incl. Tax'?></span>
                            <?php echo Mage::helper('core')->currency($_maximalPriceInclTax?>
                          </span>
                        <?php else: ?>
                            <?php echo Mage::helper('core')->currency($_maximalPriceTax?>
                        <?php endif; ?>
                      </p>
                      <?php else: ?>
                          <?php if ($this->helper('tax')->displayBothPrices() && $this->isRatesGraterThenZero()): ?>
                            <span class="price-excluding-tax">
                              <span class="label"><?php echo Mage::helper('tax')->__('Excl. Tax:'?></span>
                              <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                            </span>
                            <span class="price-including-tax">
                              <span class="label"><?php echo Mage::helper('tax')->__('Incl. Tax:'?></span>
                              <?php echo Mage::helper('core')->currency($_minimalPriceInclTax?>
                            </span>
                          <?php else: ?>
                              <?php echo Mage::helper('core')->currency($_minimalPriceTax?>
                          <?php endif; ?>
                      <?php endif; ?>
                    <?php endif; ?>
                  </div>
                  Peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Comment


                  • #24
                    Ich sagte doch, du hast bis jetzt wohl nur Schrott-Code gesehen.

                    Das von die gepostete Beispiel ist sehr mies. 50% der PHP-Tags ließen sich locker einsparen und man kann es auch sauberer einrücken. Außerdem sind viele Code-Stellen unnötigerweise kopiert. Hier würde man vermutlich mit Schleifen auch deutlich Code einsparen und Übersicht gewinnen.
                    Last edited by h3ll; 16-07-2009, 08:56.

                    Comment


                    • #25
                      Originally posted by h3ll View Post
                      Ich sagte doch, du hast bis jetzt wohl nur Schrott-Code gesehen.
                      Stimmt. Aber ich denke, das so was sehr leicht dabei herauskommen kann. Btw: formatier das doch mal um. Vielleicht kannst du mich ja vom Gegenteil überzeugen.

                      Peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Comment


                      • #26
                        Originally posted by Kropff View Post
                        Stimmt. Aber ich denke, das so was sehr leicht dabei herauskommen kann. Btw: formatier das doch mal um. Vielleicht kannst du mich ja vom Gegenteil überzeugen.
                        Ich hab versucht so gut es geht die Logik vom HTML-Code zu trennen, damit man überhaupt mal erkennt, was da eigentlich passiert in dem Code. Wobei ich der Meinung bin, dass die Logik in dem View schlecht aufgehoben ist, sondern eher in den Controller gehört, aber darüber lässt sich streiten.

                        PHP Code:
                        <?php
                            $_product 
                        $this->getProduct();
                            list(
                        $_minimalPrice$_maximalPrice) = $_product->getPriceModel()->getPrices($_product);

                            
                        $_minimalPriceTax Mage::helper('tax')->getPrice($_product$_minimalPrice);
                            
                        $_minimalPriceInclTax Mage::helper('tax')->getPrice($_product$_minimalPricetrue);
                            
                            
                        $_maximalPriceTax Mage::helper('tax')->getPrice($_product$_maximalPrice);
                            
                        $_maximalPriceInclTax Mage::helper('tax')->getPrice($_product$_maximalPricetrue);
                            
                            
                        $prices = array();
                            
                            if (
                        $_product->getPriceView()) {
                                
                        $prices[] = array(
                                    
                        'class'   => 'minimal-price'
                                    'label'   
                        => $this->__('As low as'),
                                    
                        'exclTax' => $_minimalPriceTax,
                                    
                        'inclTax' => $_minimalPriceInclTax
                                
                        );
                            } elseif (
                        $_minimalPrice != $_maximalPrice) {
                                
                        $prices[] = array(
                                    
                        'class'   => 'price-from',
                                    
                        'label'   => $this->__('From'),
                                    
                        'exclTax' => $_minimalPriceTax,
                                    
                        'inclTax' => $_minimalPriceInclTax
                                
                        );
                                
                        $prices[] = array(
                                    
                        'class'   => 'price-to',
                                    
                        'label'   => this->__('To'),
                                    
                        'exclTax' => $_maximalPriceTax,
                                    
                        'inclTax' => $_maximalPriceInclTax
                                
                        );
                            } else {
                                
                        $prices[] = array(
                                    
                        'exclTax' => $_minimalPriceTax,
                                    
                        'inclTax' => $_minimalPriceInclTax
                                
                        );
                            }
                        ?>
                        <div class="price-box">
                            
                        <?php foreach ($prices as $price): ?>    

                            <?php if (isset($price['class'])): ?>
                                <p class="<?= $price['class'?>">
                            <?php endif; ?>

                            <?php if (isset($price['label'])): ?>
                                    <span class="price-label"><?= $price['label'?>:</span>
                            <?php endif; ?>
                            
                            <?php if ($this->helper('tax')->displayBothPrices() && $this->isRatesGraterThenZero()): ?>
                                    <span class="price-excluding-tax">
                                        <span class="label"><?= Mage::helper('tax')->__('Excl. Tax:'?></span>
                                        <?= Mage::helper('core')->currency($price['exclTax']) ?>
                                    </span>
                                    <span class="price-including-tax">
                                        <span class="label"><?= Mage::helper('tax')->__('Incl. Tax'?></span>
                                        <?= Mage::helper('core')->currency($price['inclTax']) ?>
                                    </span>
                            <?php else: ?>
                                    <?= Mage::helper('core')->currency($price['exclTax']) ?>
                            <?php endif; ?>
                            
                            <?php if (isset($price['class'])): ?>
                                </p>
                            <?php endif; ?>

                        <?php endforeach; ?>

                        </div>
                        Last edited by h3ll; 16-07-2009, 09:26.

                        Comment


                        • #27
                          dass die Logik in dem View schlecht aufgehoben ist, sondern eher in den Controller gehört, aber darüber lässt sich streiten.
                          Stimmt. Btw: Mit deinem Code könnte ich sogar leben . Wenn ich nicht XSLT bevorzugen würde.

                          Peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Comment


                          • #28
                            OffTopic:
                            list($_minimialPrice, $_maximalPrice) = $this->getProduct()->getPriceModel()->getPrices($this->getProduct()) !?!
                            Das ist kein Template, das ist ein View.

                            Comment


                            • #29
                              Originally posted by onemorenerd View Post
                              OffTopic:
                              list($_minimialPrice, $_maximalPrice) = $this->getProduct()->getPriceModel()->getPrices($this->getProduct()) !?!
                              Das ist kein Template, das ist ein View.
                              OffTopic:
                              Beim Magento-Shop ist die Logik ein wenig anders als z.B. im Zend Framework. Auch wenn es darauf aufbaut.

                              Peter
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Comment


                              • #30
                                Originally posted by PHP-Desaster View Post
                                Afaik sollte das ganze ordentlich im View erledigt werden:


                                Noch schicker natürlich mit short_open_tags bzw. mit Zend_View und aktiviertem Streamwrapper:
                                PHP Code:
                                <a href="example.php?id=<?=$id ?>" class="<?=$links1 ?>">example</a>
                                sofern die server künftig short_open_tags unterstützen !
                                und ich hab ich hier nicht irgendwo gelesen, dass dieses "<?=" eventuell ab php6 flöten geht ? was dann....
                                Coder never die, they just GOSUB without RETURN

                                Mein System

                                Comment

                                Working...
                                X