回声中的Php和Html代码

时间:2017-10-03 13:14:13

标签: php magento

我正在写一个if语句,如果购物车是空的,按钮需要显示。 对于此按钮,我需要获取data-url产品的表单键 所以像这样:

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

如上所述,我需要在if语句中包含此按钮,如下所示:

 <?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>';
    }
 ?>

但显然我不能在回声中使用php echo。任何人都能指出我如何做到这一点的正确方向吗?

3 个答案:

答案 0 :(得分:4)

您不会将PHP放入PHP内部的HTML中。由于您已经在PHP代码的上下文中,只需将您想要的值连接到输出:

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

结果输出始终只是一个字符串。您可以使用您拥有的任何值来构建该字符串。

答案 1 :(得分:1)

您可以使用字符串连接:

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

答案 2 :(得分:0)

只是不要再打开PHP了。您可以在回显中终止HTML解释。

您的代码应如下所示:

<?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>';
    }
    ?>