2017-10-03 2 views
0

J'écris une instruction if dans laquelle un bouton doit indiquer si le chariot est vide. Pour ce bouton je dois obtenir la forme clé du produit pour la data-url donc quelque chose comme ceci:Code Php et Html dans echo

<a href="#" data-url="checkout/cart/add/product/59/form_key/<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>/" class="btn btn-success">Order</a> 

Comme mentionné ci-dessus, je dois envelopper ce bouton dans une instruction if, si quelque chose comme ceci:

<?php 
    $_helper = Mage::helper('checkout/cart'); 
    if (1 > $_helper->getItemsCount()){ 
     echo '<a href="#" data-url="checkout/cart/add/product/59/form_key/<?php echo Mage::getSingleton(\'core/session\')->getFormKey(); ?>/" class="btn btn-success">Order</a>'; 
    } 
    else{ 
     '<p>hello</p>'; 
    } 
?> 

Mais évidemment, je ne peux pas avoir d'écho php dans l'écho. Quelqu'un peut-il me diriger dans la bonne direction de la façon de faire cela?

+0

Voici où vous devez lire en concaténation. Un exemple de ceci serait ' ' –

Répondre

4

Vous ne mettez pas à l'intérieur PHP HTML à l'intérieur PHP. Puisque vous êtes déjà dans le contexte du code PHP, juste concaténer les valeurs que vous voulez à la sortie:

echo '<a href="#" data-url="checkout/cart/add/product/59/form_key/' . Mage::getSingleton('core/session')->getFormKey() . '" class="btn btn-success">Order</a>'; 

La sortie résultante est toujours juste une chaîne. Vous pouvez simplement construire cette chaîne avec toutes les valeurs que vous avez.

+0

Au lieu d'utiliser la concaténation, il est recommandé d'utiliser la fonction' spritf' qui rend les codes plus lisibles. Donc, '' 'echo sprintf ('Order', Mage :: getSingleton ('core/session') -> getFormKey());' '' – mrDinkelman

0

N'ouvrez simplement pas PHP à nouveau. Vous pouvez terminer l'interprétation HTML à l'intérieur d'un écho.

Votre code devrait ressembler à ceci:

<?php 
    $_helper = Mage::helper('checkout/cart'); 
    if (1 > $_helper->getItemsCount()) { 
    echo '<a href="#" data-url="checkout/cart/add/product/59/form_key/'.Mage::getSingleton(\'core/session\')->getFormKey().'/" class="btn btn-success">Order</a>'; 
    } 
    else { 
     '<p>hello</p>'; 
    } 
    ?> 
1

Vous pouvez simplement utiliser la concaténation de chaîne:

echo '<a href="#" data-url=".../' . Mage::getSingleton(...) . '"' ...