0

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

这两个页面应该有不同的标题。我如何设置此类页面的路线。

是的,我尝试如下

在 common 下创建了新文件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();
    }
}
4

2 回答 2

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

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

于 2013-11-04T18:48:25.937 回答
0

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

您将使用这段代码获得当前页面路径。在您的 common/header.php 控制器文件中编写一个基于该条件的条件并使用单独的模板文件。

于 2013-11-04T09:41:39.137 回答