【问题标题】:Prestashop product combination display on product listPrestashop 产品组合显示在产品列表上
【发布时间】:2017-07-06 08:00:18
【问题描述】:

我正在尝试在每个产品的产品列表页面中获取可用的产品组合(尺寸)。基本上有图片、产品名称、可用组合、价格、购买按钮。

我尝试输出 $product 对象,但它没有组合变量。

有什么方法可以实现吗?

【问题讨论】:

    标签: smarty prestashop prestashop-1.6


    【解决方案1】:

    ProductController.php 中有函数assignAttributesGroups(),您可以从中获取尺寸组合的代码。

    protected function assignAttributesGroups()
    {
    ...
    ...
    ...
    $this->context->smarty->assign(array(
                'groups' => $groups,
                'colors' => (count($colors)) ? $colors : false,
                'combinations' => $combinations,
                'combinationImages' => $combination_images
            ));
    }
    

    如果您打印groups 的值,您将获得所需的输出。如图像 所示,组合已安排在product.tpl(/PRESTASHOP_FOLDER/themes/default-bootstrap/product.tpl) 中显示下拉列表

    您可以从上述函数中获取代码,并为列表中的每个产品运行它。您必须创建一个产品对象并通过它接收组合。并为其创建一个下拉菜单。

    【讨论】:

    • 是的,但我想让组合显示在 category.tpl 上。它输出类别中的所有产品。在产品卡上显示所有可购买的组合。所以我想它必须与类别控制器做一些事情
    • 是的,您必须在类别控制器中编写代码。只需深入阅读该函数并尝试使用此类代码来使您的函数获取组合。获取所有组合后,您可以使用它。请注意,在产品控制器中,所有组合都是针对在浏览器上打开的特定产品以及运行产品控制器的特定产品获取的,因此使用了$this->product,但要在类别页面上显示,您必须创建一个产品对象。
    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    相关资源
    最近更新 更多