【问题标题】:How to create new page in Opencart如何在 Opencart 中创建新页面
【发布时间】:2015-11-27 05:49:16
【问题描述】:

我正在使用 Opencart 版本 2.0.3.1。

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

但我得到了错误

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

正如链接中提到的,我创建了三个文件是:

目录/控制器/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>

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

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

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

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

所以请有人帮我解决问题...任何帮助真的很可观..

【问题讨论】:

    标签: php opencart2.x custom-pages


    【解决方案1】:

    应该是$this-&gt;document-&gt;setTitle($this-&gt;language-&gt;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));
    }
    

    【讨论】:

    • 我更改了控制器中的文件(有很多要更改的地方),现在它可以工作了,但是无法加载页眉、页脚侧边栏、面包屑等
    • 好的!我将向您展示如何创建它。我将编辑我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多