无法将模块分配给System-> Design-> Layouts-> Opencart v.1.5.6.1中的产品

时间:2014-05-08 21:44:46

标签: opencart

Opencart: v.1.5.6.1
主题:期刊v.2.1.2(http://themeforest.net/item/journal-premium-responsive-opencart-theme/4260361
Apache: v.2.2.26
MySQL: v.5.5.36
php: v.5.4.22

我正在尝试将Category模块分配给
布局:产品
位置:列右(或左无关紧要)

除了Product之外,它适用于所有其他布局(家庭,信息,制造商等)。

我改为默认 Opencart主题,它也没有用!

有些东西搞砸了产品布局!??!我想到了这一点,所以我创建了一个 CustomProduct Layout (就像原始产品布局一样)并且......

目录 - >产品 - >编辑产品 - >设计 - >布局覆盖:CustomProduct

猜猜......它有效!

不会对Opencart的核心文件进行任何更改。一切都是vQmod(主题,扩展) 我已经删除了我的vQmods(以防万一我做错了什么)......但它仍然没有用。

在catalog / controller / common / column_right.php第38行,我添加了......

echo $layout_id;

返回的值为 id = 4 (默认布局)。不应该 id = 2 (产品布局)?

此外,表 oc_setting 中的键" category_module" 的值...

a:1:{i:0;a:4:{s:9:"layout_id";s:1:"2";s:8:"position";s:12:"column_right";s:6:"status";s:1:"1";s:10:"sort_order";s:1:"1";}}

我认为这很简单,我无法看到它。现在我有2天的时间试图弄清楚发生了什么!

有什么建议吗?!

1 个答案:

答案 0 :(得分:0)

因为我在公开发布之前已经下载了Opencart v.1.5.6.1 ,所以我没有catalog/model/catalog/product.php的正确文件 我有这个......

   public function getProductLayoutId($product_id) {
      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");

      if ($query->num_rows) {
         return $query->row['layout_id'];
      } else {
         return  $this->config->get('config_layout_id');
      }
   }

而不是......

   public function getProductLayoutId($product_id) {
      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");

      if ($query->num_rows) {
         return $query->row['layout_id'];
      } else {
         return false;
      }
   }

所有积分都转到用户http://www.opencart-hellas.gr/memberlist.php?mode=viewprofile&u=2
阅读所有http://www.opencart-hellas.gr/viewtopic.php?f=8&t=47(希腊文)。