【问题标题】:How can get the bundle item of a bundle product in magento如何在magento中获取捆绑产品的捆绑项目
【发布时间】:2013-11-02 19:40:24
【问题描述】:

我有一个捆绑产品,我通过管理面板添加了 3 个捆绑项目(复选框类型)。捆绑商品中的2个只有一个选择,而第三个有7个选择(每个都是简单的产品)。

现在我有一种情况,我需要显示我添加到第三个捆绑产品中的简单产品的名称,而不是整个捆绑项目(默认情况)。我尝试了很多,但我找不到解决方案

提示:复选框默认显示在文件 app/design/frontend/base/default/template/bundle/catalog/product/view/type/bundle/option/checkbox.phtml 中定义,我认为我们需要这样做此文件中的编码。

请帮帮我..我真的需要一个解决方案..

【问题讨论】:

    标签: php magento magento-1.7


    【解决方案1】:

    是的...我想我已经找到了解决方案。我添加了名为“LLC”的捆绑项目,并将简单产品添加为复选框。我需要做的是显示我在 LLC 捆绑项目下添加的简单产品的名称,而不是显示 LLC 及其复选框(默认情况下)。

    显示复选框的方式在文件中定义: app/design/frontend/base/default/template/bundle/catalog/product/view/type/bundle/option/checkbox.phtml

    所以我在那里定义了一个这样的函数..

    <?php 
    
    if($this->htmlEscape($_option->getTitle())=="LLC")
    {
         $current_product=Mage::registry('current_product');
         echo $this->getpackagedetails($current_product,$this->htmlEscape($_option->getTitle()));
    
     }
    
     ?>
    

    如您所见,我检查了捆绑商品的名称是否为 LLC。如果是,则将当前产品放入一个变量,然后我调用一个函数“getpackagedetails()”,该函数在复选框块中定义,您可以在此处找到 /app/code/core/Mage/Bundle/Block/Catalog/Product /View/Type/Bundle/Option.php。此函数传递两个参数:当前产品和捆绑商品名称。

    现在将我们的函数添加到块文件中。如下所示。

    <?php
    
     public function getpackagedetails($currentproduct,$optid)
     {
            $display="";
            $bundled = Mage::getModel('catalog/product');
            $bundled->load($currentproduct->getId());
    
            $selectionCollection = $bundled->getTypeInstance(true)->getSelectionsCollection(
            $bundled->getTypeInstance(true)->getOptionsIds($bundled), $bundled);
    
            foreach($selectionCollection as $option)
            {
                $sku=$option->getSku();
                if($optid=="LLC" && $optid==$bistype)
                {
                    if(strpos($sku,"llc")!== false)
                    {
                        $display.=$option->getName();
                    }
                }
    
            }
            return($display);
      }
    

    我在这里所做的是使用变量 $bundled 加载了我当前的产品。然后,我将添加到捆绑产品中的所有选择类型选项添加到变量 $selectionCollection。为了将选项与LLC捆绑项目分开,我检查了每个选项的sku中是否有'llc'字符串(所有简单的产品都对应于LLC捆绑项目,我在那里设置了'llc'字符串) .如果是,则获取名称并将其存储到变量 $display 中。然后返回变量。

    就是这样。现在您只能看到我为名为 LLC 的捆绑商品添加的简单产品名称。

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 2014-12-04
      相关资源
      最近更新 更多