如何在Opencart中创建新页面


How to create new page in Opencart

我使用的是Opencart 2.0.3.1版本。

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

但是我得到了错误

致命错误:无法访问中的私有属性文档::$titleC: 第6行上的''wamp''www''opencart''目录''控制器''自定义''服务.php

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

catalog/controller/custom/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();
   }
}

catalog/view/theme/default/template/custom/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>

catalog/language/custom/service.php

// Heading 
$_['heading_title'] = 'Our Services';
//Content
$_['heading_text'] = 'Welcome to our services';

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

所以有人请帮我解决问题。。。任何帮助都是值得的。。

它应该是$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));
}