为什么我无法访问OpenCart中的模块页面?

时间:2018-08-01 08:34:49

标签: php opencart opencart2.x

我无法访问OpenCart 2.3中的模块页面。 错误文字:

  

注意:使用未定义的常数VERSION-假定为“ VERSION”   /home/flower/mywebsite.com/system/storage/modification/system/engine/model.php   在第4行

     

致命错误:无法在以下位置重新声明类代理   /home/flower/mywebsite.com/system/engine/proxy.php在第2行

此模块旨在将数据从1C传输到OpenCart,在安装了缓存模块后开始出现错误

model.php:

1 <?php
2 
3 $GLOBALS['jetcache_opencart_core_start'] = microtime(true);
4 if (!defined('SC_VERSION')) define('SC_VERSION', (int) substr(str_replace('.', '', VERSION), 0, 2));
5 if (SC_VERSION < 22  && !class_exists('Proxy')) {
6    if (function_exists('modification')) {
7      require_once(modification(DIR_SYSTEM . 'library/jetcache/proxy.php'));
8   } else {
9      require_once(DIR_SYSTEM . 'library/jetcache/proxy.php');
10   }
11
12}
proxy.php:

1 <?php
2 
3 class  Proxy  {
4
5   public function __get($key) {
6
7      return $this->{$key};
8
9   }  

1 个答案:

答案 0 :(得分:0)

您的OpenCart模板似乎有2个问题。

    未定义
  1. VERSION常量。要进行检查,请转到index.php,并确保它具有VERSION之类的define ('VERSION', 'x.x.x.x');定义({{1}应该是您的OpenCart商店的实际版本。 可能不是,您必须添加此定义。

  2. 您的模板重新声明了x.x.x.x类。为防止这种情况,最简单的方法是检查它是否已定义。 在proxy中,将类包装为/home/flower/mywebsite.com/system/engine/proxy.php

这将在再次创建该类之前检查该类是否不存在,如果存在,则不会再次创建该类并且不会导致错误。

请注意,似乎您的模板未针对您拥有的OpenCart版本正确编码,或者应该是其他OpenCart版本(可能是较旧版本)的模板。