opencart php自定义页面,不使用“信息”功能

时间:2012-02-28 22:23:17

标签: php opencart

我想在opencart中创建一个自定义页面。

我知道我可以使用管理区域在信息部分放置一个自定义页面,但我想要的是一个指向其他几页的控制器。

我不完全明白如何做到这一点。

在codeigniter中你会创建一个控制器和一个视图,如果需要在routes文件中设置一些规则,但我看不到这样的东西。

有人会介意向我解释或指出如何做到这一点的一些指示。

谢谢

2 个答案:

答案 0 :(得分:17)

说实话,这很简单。您需要为文件创建一个控制器,根据文件夹和文件名命名。例如common/home.php

Class ControllerCommonHome extends Controller

使用index.php?route=common/home访问此项并访问index()方法。如果要调用另一个方法,例如foo,则需要将方法定义为

public function foo() {
    // Code here
}

并使用index.php调用它?route = common / home / foo

至于渲染视图,这有点棘手。基本上,您需要将所有这些添加到控制器方法的末尾

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/new_template_file.tpl')) {
        $this->template = $this->config->get('config_template') . '/template/common/new_template_file.tpl';
    } else {
        $this->template = 'default/template/common/new_template_file.tpl';
    }

    $this->children = array(
        'common/column_left',
        'common/column_right',
        'common/content_top',
        'common/content_bottom',
        'common/footer',
        'common/header'
    );

    $this->response->setOutput($this->render());

将呈现/catalog/view/theme/your-theme-name/template/common/new_template_file.tpl 如果该文件不存在,它将尝试在default主题文件夹

中使用相同的路径

我建议你看看一些控制器和模板,让你了解一切来自哪里,但这是它的工作原理的基本要点

答案 1 :(得分:0)

请关注此页面,希望更多使用完整。

http://code.tutsplus.com/tutorials/create-a-custom-page-in-opencart--cms-22054

OpenCart是使用流行的编程MVC模式构建的。还有一个元素被添加到这个模式中,名为" L" - 语言部分 - 因此在OpenCart中称为MVC-L模式。我不会详细介绍MVC模式,因为它是一种非常流行且熟悉的设计模式,我们已经在其他教程中详细介绍了它。