如何获取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的捆绑产品添加的简单产品名称。