【问题标题】:Removing "echo" and replacing it with "return"?删除“回声”并将其替换为“返回”?
【发布时间】:2012-03-13 15:56:19
【问题描述】:

我有以下代码,但是,我必须去掉所有样式(任何 css)并让它返回而不是回显,否则它会与我正在使用的其他代码混淆。 我使用 echo 的另一个代码是一个短代码,它输出以下内容,由购物车中是否有商品决定。

显然我无法回显(在回显短代码结束时),所以我必须返回。如果购物车是空的,它会按照我下面的注释代码返回。当购物车有物品时,我无法将其退回:(我的尝试如下。

//Original code, if there's items

if(is_object($cart) && $cart->countItems()) {
  ?>
  <div id="Cart66scCartContents" style="float:right; text-align: right;">
    <a id="Cart66scCartLink" href='<?php echo get_permalink($cartPage->ID) ?>'>
    <span id="Cart66scCartCount"><?php echo $cart->countItems(); ?></span>
    <span id="Cart66scCartCountText"><?php echo $cart->countItems() > 1 ? ' items' : ' item' ?></span> 
    <span id="Cart66scCartCountDash">&ndash;</span>
    <!-- <span id="Cart66scCartPrice"><?php //echo CART66_CURRENCY_SYMBOL . 
      number_format($cart->getSubTotal() - $cart->getDiscountAmount(), 2); ?> -->
    </span></a>
    <a id="Cart66scViewCart" href='<?php echo get_permalink($cartPage->ID) ?>'>View Cart</a>
    <span id="Cart66scLinkSeparator"> | </span>
    <a id="Cart66scCheckout" href='<?php echo get_permalink($checkoutPage->ID) ?>'>Check out</a>
  </div>
  <?php
}
else {

//My code, if there's no items (which works perfectly as a return)

    $emptyMessage = isset( $attrs['empty_msg'] ) ? $attrs['empty_msg'] : 'Your cart is empty';
    return "<p id=\"Cart66scEmptyMessage\" style=\"float:right; text-align: right;\">" . $emptyMessage . "</p>";

}

我尝试将“如果购物车中有商品”设置为退货而不是回显..

if(is_object($cart) && $cart->countItems()) {      
  return "<a href='" . get_permalink($cartPage->ID) . "'>" . $cart->countItems(); . " " . $cart->countItems() > 1 ? ' items' : ' item' . "&ndash;" . number_format($cart->getSubTotal() - $cart->getDiscountAmount(), 2); . "</a> <a href='" . get_permalink($cartPage->ID) . "'>View Cart</a> | <a href='" . get_permalink($checkoutPage->ID) . "'>Check out</a>";
}
else {
    $emptyMessage = isset( $attrs['empty_msg'] ) ? $attrs['empty_msg'] : 'Your cart is empty';
    return "<p id=\"Cart66scEmptyMessage\" style=\"float:right; text-align: right;\">" . $emptyMessage . "</p>";

}

我的尝试没有显示文本“1 项 – 查看购物车 | 结帐”。 我做错了什么?

谢谢!!

【问题讨论】:

    标签: php


    【解决方案1】:

    . $cart-&gt;countItems(); 有一个分号,删除它就可以了

    【讨论】:

    • @andreas:谢谢 - 解析错误:语法错误,意外的 '.'在 /home/... 第 1 行
    • @andreas:$cart-&gt;getDiscountAmount(), 2) 也有一个分号 - 全部修复!谢谢你:)
    • 显然你还需要找到其余的 ;),我只是指点
    • 谢谢 :) 现在购物车商品 # 也没有显示? :( . $cart-&gt;countItems() . 现在是空白
    • 最好开始一个新问题并将代码粘贴到新问题的 countItems() 函数中:)
    【解决方案2】:

    尝试使用HEREDOC

    例如:

    if (is_object($cart) && $cart->countItems()) {
        $items = $cart->countItems() > 1 ? ' items' : ' item';
        return <<<HTML
    <div id="Cart66scCartContents" style="float:right; text-align: right;">
        <a id="Cart66scCartLink" href='{get_permalink($cartPage->ID)}'>
            <span id="Cart66scCartCount">{$cart->countItems()}</span>
            <span id="Cart66scCartCountText">{$items}</span>
            <span id="Cart66scCartCountDash">&ndash;</span>
            </span></a>
        <a id="Cart66scViewCart" href='{get_permalink($cartPage->ID)}'>View Cart</a>
        <span id="Cart66scLinkSeparator"> | </span>
        <a id="Cart66scCheckout" href='{get_permalink($checkoutPage->ID)}'>Check out</a>
    </div>
    HTML;
    }
    else {
        $emptyMessage = isset( $attrs['empty_msg'] ) ? $attrs['empty_msg'] : 'Your cart is empty';
        return "<p id=\"Cart66scEmptyMessage\" style=\"float:right; text-align: right;\">" . $emptyMessage . "</p>";
    
    }
    

    【讨论】:

      【解决方案3】:

      也许

      $html = <<<EOD
              <tr>
                <td>TEST</td>
              </tr>
      EOD;
      

      这里有帮助吗?

      【讨论】:

        【解决方案4】:

        声明字符串变量并将您尝试在该字符串中回显的所有 HTML 连接起来并返回字符串变量。

        示例 $string = '

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-23
          • 2015-12-10
          • 1970-01-01
          • 2019-07-03
          • 2020-09-11
          • 1970-01-01
          相关资源
          最近更新 更多