Magento PHP编码:可见性=单独不可见 - 仍然显示

时间:2013-06-06 20:58:11

标签: php magento visibility

我有一个“也买”模块,工作得很好,但在我将管理中的产品设置为Visibility = Not Visible Individually后,它仍显示在我的也买了。这是我一直在研究的代码:

    <?php $_helper = $this->helper('catalog/output'); ?>
    <?php $_product = $this->getProduct(); ?>
    <?php
    /**
     * Magento
     *
     * NOTICE OF LICENSE
     *
     * This source file is subject to the Academic Free License (AFL 3.0)
     * that is bundled with this package in the file LICENSE_AFL.txt.
     * It is also available through the world-wide-web at this URL:
     * http://opensource.org/licenses/afl-3.0.php
     * If you did not receive a copy of the license and are unable to
     * obtain it through the world-wide-web, please send an email
     * to license@magentocommerce.com so we can send you a copy immediately.
     *
     * DISCLAIMER
     *
     * Do not edit or add to this file if you wish to upgrade Magento to newer
     * versions in the future. If you wish to customize Magento for your
     * needs please refer to http://www.magentocommerce.com for more information.
     *
     * @category    design
     * @package     base_default
     * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
     * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
     */

    /**
     * Shoping cart sidebar
     *
     * @see Mage_Checkout_Block_Cart_Sidebar
     */
    $title = $this->getTitle();
    $le = $this->getBoughtProducts();
    /*foreach($le as $_index=>$_item){
            echo $_item->getId();
            }
    exit;*/
    $lecount=count($le );
    ?>
    <?php if($this->getEnable()){
    //echo Mage::getVersion();
    ?>
    <div class="also-bought-wrap">
        <?php if($lecount>0): ?>
            <h4 class="relations"><?php echo $title; ?>
                <?php if($lecount>0): ?>
                    <small><?php echo $this->__('(%d)', $lecount) ?></small>
                <?php endif; ?></h4>

        <ol id="also-bought">
           <?php foreach ($le as $_index => $_item) {  
        //  echo $_index."<hr>";
        //  $_item=$le[$_index];
        //  echo $_item->getStatus();
            ?>

    <?php if ($_product->isVisibleInSiteVisibility()): ?> <--------------HERE       

            <li class="also-bought-li">
                <div class="product-images">
                    <a href="<?php echo $_item->getProductUrl() ?>">
                        <img src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(50); ?>" alt="<?php echo $this->htmlEscape($_item->getName()) ?>" width="50" height="74" />
                    </a>
                </div>
                <div class="product-details">

                    <a href="<?php echo $_item->getProductUrl() ?>"><?php echo $this->htmlEscape($_item->getName()) ?></a>
                    <div style="font-size:9px"><?php echo $this->getPriceHtml($_item) ?>
                    </div>
                    <div class="also-bought-text">
                     <?php if ($this->helper('wishlist')->isAllow()) : ?>
                                <a id="also-bought-wishlist" href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-cart"><?php echo $this->__('Add to Wishlist') ?></a>
                            <?php endif; ?>
                            <?php if($_item->isSaleable()): ?>
                    <div class="clear"></div>
                     <a id="also-bought-price" href="<?php echo $this->getAddToCartUrl($_item) ?>" class="link-cart"><?php echo $this->__('Add to Cart') ?></a>
                    <?php endif; ?>
                    </div>
                </div>
            </li>

<?php endif; ?>  <-----------------HERE

        <?php } ?>
        </ol>

        <?php else: ?>
        <div class="content"><p><?php echo $this->__(' ') ?></p></div>
        <?php endif ?>
    </div>
    <?php } ?>

有人可以帮我这个吗?什么让我觉得它似乎认为产品是可见的,因为如果我改变:

<?php if ($_product->isVisibleInSiteVisibility()): ?>

为...

<?php if (!$_product->isVisibleInSiteVisibility()): ?>

然后所有“也买”的产品都停止显示。

由于

1 个答案:

答案 0 :(得分:1)

您正在检查当前产品,而不是“也购买”产品。将行更改为

<?php if ($_item->isVisibleInSiteVisibility()): ?>