首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prestashop:如何为产品获取配件

Prestashop:如何为产品获取配件
EN

Stack Overflow用户
提问于 2013-01-30 17:47:08
回答 3查看 5.3K关注 0票数 2

如何获取每个产品的附件?在循环中:

{将$products作为$product}

//获取附件

{/foreach}

EN

回答 3

Stack Overflow用户

发布于 2013-02-04 17:53:52

问题是模块HomeFeatured不检索产品的附件,因此它们在模板中不可用。

您可以选择:

  • 编辑模块的PHP代码:简单但不升级模块到module功能: proof
  • duplicate
    • less,以及升级证明

我更喜欢第二个,更多的未来证明&如果你需要的话,你可以在之后添加更多的逻辑。

无论你选择什么,这里的修改后的hookDisplayHome代码有一个由产品id索引的Smarty变量$accessories:

代码语言:javascript
复制
public function hookDisplayHome($params) {
    $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
    $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
    $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

    // -- begin -->
    $accessories = array();
    foreach ($products as $product) {
        $p = new Product($product['id_product'], false, (int)Context::getContext()->language->id);
        $accessories[$product['id_product']] = $p->getAccessories((int)Context::getContext()->language->id);
    }
    // <-- end --

    $this->smarty->assign(array(
        'products' => $products,
        'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
        'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
        'accessories' => $accessories // <-- added --
    ));
    return $this->display(__FILE__, 'homefeatured.tpl');
}
票数 2
EN

Stack Overflow用户

发布于 2013-05-28 05:59:44

获取属性组合的快速示例:

代码语言:javascript
复制
$product = new Product($id_product);                
$comb = $product->getAttributeCombinations($this->context->cookie->id_lang);

                    if (sizeof($comb)){
                        foreach($comb AS $combination){ 
                            //do some stuff here
                        }
                    }

我想这会对另一个人有帮助

票数 1
EN

Stack Overflow用户

发布于 2016-03-18 21:42:00

我不确定它在.tpl文件中会是什么样子,但对于PHP是这样的:

代码语言:javascript
复制
$product->getAccessories(intval($cookie->id_lang))

参考您的示例,它可能如下所示:

代码语言:javascript
复制
{foreach $products as $product}
  {assign var='accessories' value=$product->getAccessories(intval($cookie->id_lang))}
    {$accessories|@var_dump}
    {foreach from=$accessories item=accessory}
       {$accessory|@var_dump}
    {/foreach}
{/foreach}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14600882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档