【问题标题】:Magento 1.10 Enterprise Salesrule Product Subselection ErrorMagento 1.10 Enterprise Salesrule 产品选择错误
【发布时间】:2013-01-04 23:28:11
【问题描述】:

所以我试图在 Magneto 中建立一个固定数量的销售规则。当我登录到管理员时,我转到促销 --> 购物车价格规则并创建一个新规则。当我转到“条件”选项卡(从左侧菜单)时,我开始创建我的销售规则条件。当我尝试从条件标签的下拉菜单中选择“产品子选择”时。它返回并 foreach php 警告 -->

警告:为 foreach() 提供的参数无效 /var/www/staging/app/code/core/Mage/Rule/Model/Condition/Abstract.php 在第 246 行

我还注意到,我移植到这个 magento 实例的一些规则有同样的错误。但似乎仅在从端口设置“产品子选择”或当我尝试从头开始创建一个时才会发生。

此链接描述了我遇到的类似问题(对不起,部分是俄语)http://magento-forum.ru/topic/851/

我还了解到这是 1.5 中的核心问题。但已修复http://www.magentocommerce.com/bug-tracking/issue?issue=11214(可能需要登录 Magento 才能查看此问题)

我在第 246 行验证了 app/code/core/Mage/Rule/Model/Condition/Abstract.php 中的代码已更新

任何人都可以向我提供有关如何修复此错误的更多信息。我检查了多个具有相同数据集的 Magento Enterprise 1.10 实例,并且都有相同的错误。提前致谢,如果我能提供更多信息,请告诉我。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    由于 Magento 企业版 1.10 基于社区版 1.5,因此 Magento 核心团队的补丁修复该特定错误是有意义的。在这种情况下,您可以安全地修改核心,因为您正在应用核心代码。

    该问题已在 CE 1.6.0.0 中修复。根据下面的责备,它是通过修改名为getValueSelectOptions()的方法修复的

    https://github.com/LokeyCoding/magento-mirror/blame/magento-1.6/app/code/core/Mage/Rule/Model/Condition/Abstract.php#L246

    所以你只需要:

    1. 打开app/code/core/Mage/Rule/Model/Condition/Abstract.php

    2. 找到getValueSelectOptions()方法

    3. 将其内容替换为代码团队所做更改的以下代码:

          public function getValueSelectOptions()
          {
              $valueOption = $opt = array();
              if ($this->hasValueOption()) {
                 $valueOption = (array) $this->getValueOption();
              }
              foreach ($valueOption as $k => $v) {
                 $opt[] = array('value' => $k, 'label' => $v);
              }
              return $opt;
          }
      
    4. 保存文件并确保问题得到解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多