【问题标题】:Can't assign modules to System->Design->Layouts->Product in Opencart v.1.5.6.1无法在 Opencart v.1.5.6.1 中将模块分配给 System->Design->Layouts->Product
【发布时间】:2014-06-26 12:21:39
【问题描述】:

Opencart: v.1.5.6.1
主题: Journal 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 模块分配给
布局: 产品
位置: 右侧列(或左侧无关紧要)

它适用于除产品之外的所有其他布局(家庭、信息、制造商等)。

我改成了Default Opencart 主题,也不管用!

产品布局出了点问题!??!我想到了这一点,所以我创建了一个 CustomProduct Layout(就像原来的 Product 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 天的时间试图弄清楚发生了什么!

有什么建议吗?!

【问题讨论】:

  • 您是否在 Design -> layouts 中检查产品布局是否配置正确?
  • 什么意思"如果配置正确?",自从安装了Opencart之后我就没改过!
  • 数据可能会损坏,或者被其他扩展改变等等指定为“产品/产品”。
  • 正如你所说。
  • 如果指定正确,那么这表明有其他东西干扰了您的布局、扩展或其他改变了您的控制器的东西,但是找到和调试它真的很困难,因为您必须检查每个控制器.

标签: opencart


【解决方案1】:

因为我在公开发布之前下载了 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(希腊文)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多