【问题标题】:Get product attribute reference - Prestashop 1.7获取产品属性参考 - Prestashop 1.7
【发布时间】:2019-04-10 04:56:40
【问题描述】:

我需要在模块 php 文件中获取产品组合 ean13。 使用它我可以获得产品参考:

               $product = new 
               Product(Tools::getValue('id_product'));
               $varRef = $product->reference;

我不知道如何获得组合 ean13,因为它是一系列产品。

{$product|@var_dump}}
'attributes' => 
  array (size=2)
   1 => 
    array (size=8)
      'id_attribute' => string '1' (length=1)
      'id_attribute_group' => string '1' (length=1)
      'name' => string 'S' (length=1)
      'group' => string 'Taille' (length=6)
      'reference' => string '' (length=0)
      'ean13' => string '' (length=0)
      'isbn' => string '' (length=0)
      'upc' => string '' (length=0)

有什么快速的解决方案吗? 谢谢!

【问题讨论】:

    标签: php variables attributes prestashop


    【解决方案1】:

    这有效,并将列出给定产品的每个组合/变体的 EAN 13:

    $product = new Product((int)Tools::getValue('id_product'));
    $id_lang = Context::getContext()->language->id;
    $combinations = $product->getAttributeCombinations((int)$id_lang, true);
    foreach ($combinations as $c)
        p($c['ean13']);
    

    【讨论】:

    • 是的,它工作得很好,谢谢。如何仅提取所选组合的 EAN?您提供的代码会生成一个包含所有产品 ean 组合的数组,我只需要在变量中注册用户所看到的组合的 EAN。
    • 试试这个:$ean13 = Db::getInstance()->getValue('SELECT ean13 FROM '._DB_PREFIX_.'product_attribute WHERE id_product_attribute = '.(int)$id_product_attribute);
    • 我之前添加了 $id_product_attribute = Tools::getValue('id_product_attribute', null);当我选择刷新页面的颜色属性以加载新的封面图片时,它工作得很好。不幸的是,当我选择一个具有相同封面图片且没有任何刷新的新尺寸属性时,我最终得到了错误的 ean13 代码 - 用于默认 id_product_attribute。
    • 我会为此发布一个新的、单独的问题,并附上一个可重复的示例
    猜你喜欢
    • 2022-10-21
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    相关资源
    最近更新 更多