如何获取magento中捆绑产品的捆绑项目

问题描述:

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

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

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

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

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

显示复选框的方式在文件中定义: 应用程序/设计/前端/碱/默认/模板/束/目录/产品/视图/类型/束/选项/ checkbox.phtml

所以我这里有定义的功能这样的..

<?php 

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

} 

?> 

,你可以看到,我检查了包项目的名称为有限责任公司或没有。如果是,请将当前产品转换为变量,然后调用复选框块中定义的函数'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的捆绑产品添加的简单产品名称。