我有一个“也买”模块,工作得很好,但在我将管理中的产品设置为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()): ?>
然后所有“也买”的产品都停止显示。
由于
答案 0 :(得分:1)
您正在检查当前产品,而不是“也购买”产品。将行更改为
<?php if ($_item->isVisibleInSiteVisibility()): ?>