2

我正在使用Opencart 版本 2.0.3.1。

我必须在 Opencart 中创建新页面。但我不知道如何开始。所以我按照给定的链接http://forum.opencart.com/viewtopic.php?t=6253创建自定义页面。

但我得到了错误

致命错误:无法访问第 6 行 C:\wamp\www\opencart\catalog\controller\custom\service.php 中的私有财产 Document::$title

如链接中所述,我创建了三个文件:

目录/控制器/自定义/service.php

class ControllerCustomService extends Controller {
   public function index() {
      $this->language->load('custom/service');

      $this->document->title          = $this->language->get('heading_title');


      $this->document->breadcrumbs = array();

         $this->document->breadcrumbs[] = array(
             'href'      => $this->url->http('common/home'),
             'text'      => $this->language->get('text_home'),
            'separator' => FALSE
         );

      $url = '';

      if (isset($this->request->get['page'])) {
         $url .= '&page=' . $this->request->get['page'];
      }   

         $this->document->breadcrumbs[] = array(
             'href'      => $this->url->http('custom/service' . $url),
             'text'      => $this->language->get('heading_title'),
            'separator' => $this->language->get('text_separator')
         );

      $this->data['heading_title']    = $this->language->get('heading_title');
      $this->data['heading_text']      = $this->language->get('heading_text');
      $this->id                   = 'content';
      $this->template             = $this->config->get('config_template') . 'custom/service.tpl';
      $this->layout               = 'common/layout';

      $this->render();
   }
}

目录/视图/主题/默认/模板/自定义/service.tpl

<div class="top">
  <h1><?php echo $heading_title; ?></h1>
</div>
<div class="middle">
  <div><?php echo $heading_text; ?></div>

</div>
<div class="bottom">&nbsp;</div>

目录/语言/自定义/service.php

// Heading 
$_['heading_title'] = 'Our Services';

//Content
$_['heading_text'] = 'Welcome to our services';

我也尝试了该链接中提到的修复程序,但没有运气。

所以有人请帮我解决问题......任何帮助都是非常可观的..

4

1 回答 1

3

应该是$this->document->setTitle($this->language->get('heading_title'));

并且引用链接是针对版本 1.5.x(对于旧版本)。您应该引用新版本的文件,然后通过引用它来创建新文件。

编辑

过程相同,但您必须检查语法更改。与opencart 2.x以上版本一样,它们改变了很多东西和语法。

编辑

header,footer etc像这样加载通用控制器(对于版本 2.x)

$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header'); 

加载视图

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/directory/viewfile.tpl')) {
    $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/directory/viewfile.tpl', $data));
} else {
    $this->response->setOutput($this->load->view('default/template/directory/viewfile.tpl', $data));
}
于 2015-11-27T06:02:38.283 回答