Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Magento Product pag-显示缺货的相关产品_Javascript_Php_Jquery_Magento_Product - Fatal编程技术网

Javascript Magento Product pag-显示缺货的相关产品

Javascript Magento Product pag-显示缺货的相关产品,javascript,php,jquery,magento,product,Javascript,Php,Jquery,Magento,Product,我对PHP不是很有经验,但我的目标是,如果相关的产品样本缺货,它们就不会显示在页面上 以下是PHP代码: <ol class="mini-products-list" id="block-related"> <?php foreach($this->getItems() as $_item): ?> <li class="item"> <?php if(!$_item->isCompo

我对PHP不是很有经验,但我的目标是,如果相关的产品样本缺货,它们就不会显示在页面上

以下是PHP代码:

    <ol class="mini-products-list" id="block-related">
    <?php foreach($this->getItems() as $_item): ?>
        <li class="item">
            <?php if(!$_item->isComposite() && $_item->isSaleable()): ?>
                <?php if (!$_item->getRequiredOptions()): ?>
                    <input type="checkbox" class="checkbox related-checkbox" id="related-checkbox<?php echo $_item->getId() ?>" name="related_products[]" value="<?php echo $_item->getId() ?>" />
                <?php endif; ?>
            <?php endif; ?>
            <div class="product">
                <a href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_item->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->resize(50) ?>" width="50" height="50" alt="<?php echo $this->escapeHtml($_item->getName()) ?>" /></a>
                <div class="product-details">
                    <p class="product-name"><a href="<?php echo $_item->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a></p>
                    <?php echo $this->getPriceHtml($_item, true, '-related') ?>
                    <?php if ($this->helper('wishlist')->isAllow()) : ?>
                        <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a>
                    <?php endif; ?>
                </div>
            </div>
        </li>
    <?php endforeach ?>
    </ol>


  • 您确定已将“显示缺货产品”选项设置为“否”吗?(系统->配置->库存)


    您还可以尝试将
    $\u item->isAvailable()
    添加到if语句。

    我最终使用的解决方案是:添加$\u item->isAvailable()to if语句为缺货的相关产品提供了所需的效果,将不会在产品页面上显示为相关产品样本。

    将$\u item->isAvailable()添加到if语句中,如果语句工作正常,缺货产品将不会显示为相关产品样本!:D.为了回答您的问题,“显示缺货产品”设置为“否”,这正是我们想要的,这样缺货产品页面就可以供可能共享页面链接或谷歌产品但不会显示在类别页面上的客户查看。谢谢你的帮助!我正在寻找与“相关产品颜色”相同类型的功能。请查看我的问题链接->
    <script type="text/javascript">
    //<![CDATA[
    $$('.related-checkbox').each(function(elem){
        Event.observe(elem, 'click', addRelatedToProduct)
    });
    
    var relatedProductsCheckFlag = false;
    function selectAllRelated(txt){
        if (relatedProductsCheckFlag == false) {
            $$('.related-checkbox').each(function(elem){
                elem.checked = true;
            });
            relatedProductsCheckFlag = true;
            txt.innerHTML="<?php echo $this->__('unselect all') ?>";
        } else {
            $$('.related-checkbox').each(function(elem){
                elem.checked = false;
            });
            relatedProductsCheckFlag = false;
            txt.innerHTML="<?php echo $this->__('select all') ?>";
        }
        addRelatedToProduct();
    }
    
    function addRelatedToProduct(){
        var checkboxes = $$('.related-checkbox');
        var values = [];
        for(var i=0;i<checkboxes.length;i++){
            if(checkboxes[i].checked) values.push(checkboxes[i].value);
        }
        if($('related-products-field')){
            $('related-products-field').value = values.join(',');
        }
    }
    //]]>
    </script>