如何在opencart中更改默认主页

时间:2013-11-04 09:35:13

标签: php opencart

我是opencart的新手。我只想要两个主要页面,一个将列出所有产品(默认情况下在opencart中),另一个将描述公司。那么我该如何更改默认主页呢。

这两个页​​面应该有不同的标题。如何为这种页面设置路线。

雅我尝试如下

创建了default.tpl

共同的新文件

在我使用的home.tpl

<?php if(!isset($this->request->get['route'])){
    echo $header;
}else{
    echo $default;
}
?>

但它不是默认渲染。我还在controller/common/default.php下创建了一个控制器,其中包含以下行

<?php
class ControllerCommonDefault extends Controller {
    public function index() {
        $this->template = $this->config->get('config_template') . '/template/common/default.tpl';
        $this->render();
    }
}

2 个答案:

答案 0 :(得分:7)

写一个单独的头文件会更容易......如果你打开catalog/controller/common/home.php 你会发现以下代码

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

您可以将其更改为

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

然后打开:

catalog/view/theme/default/common/home.tpl

并找到以下行:

<?php echo $header; ?>

并将其更改为:

<?php echo $headerhome; ?>

然后复制:

catalog/controller/common/header.php

并重命名

headerhome.php

然后打开

catalog/controller/common/headerhome.php

并找到以下行

class ControllerCommonHeader extends Controller {

并改为:

class ControllerCommonHeaderhome extends Controller {
然后找到:

$this->language->load('common/header');

并改为:

$this->language->load('common/header');

然后找到以下代码:

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

并将其更改为:

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

然后复制

catalog/view/theme/default/common/header.tpl

并重命名为:

catalog/view/theme/default/common/headerhome.tpl

然后复制:

catalog/language/english/common/header.php

并重命名为:

catalog/language/english/common/headerhome.php

然后,您可以编辑以下文件以反映所需的样式更改:

catalog/view/theme/default/common/headerhome.tpl

然后,您可以编辑以下文件以反映您想要的语言更改:

catalog/language/english/common/headerhome.php

这意味着主页将显示标题主页,所有其他页面将显示标准标题,如果您只有两个页面,就像您之前说的那样解决了您的问题......

答案 1 :(得分:0)

$this->request->get['route']

您将使用此段代码获取当前页面路径。根据common / header.php控制器文件中的条件编写条件,并使用单独的模板文件。