【问题标题】:How to change default home page in opencart如何在opencart中更改默认主页
【发布时间】:2013-11-04 09:35:12
【问题描述】:

我是 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();
    }
}

【问题讨论】:

    标签: php opencart


    【解决方案1】:

    写一个单独的头文件会更容易...如果你打开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 并且所有其他页面将显示标准标题,如果您像之前所说的那样只有两个页面,这可以解决您的问题...

    【讨论】:

    • 谁对这个投了反对票...这个答案列出了您在问题中要求的所有内容...如果回答了,请单击勾号...这个网站上有很多仇恨者。 ..
    【解决方案2】:

    $this-&gt;request-&gt;get['route']

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

    【讨论】:

    • 它没有显示任何内容。如果我 echo $this-&gt;request-&gt;get['route'] 这个在 home.tpl
    • 你有没有在其他页面呼应?
    • 在其他页面中它即将到来,但在主页中我如何识别它。我的主页网址是localhost://opencart
    • 所以if(!isset($this-&gt;request-&gt;get['route'])){ /* condition for home page*/ }else{ /* condition for other pages*/ }你可以这样做。
    • 请再次阅读我的回答。 “您将使用这段代码获得当前页面路径。根据该条件在您的 common/header.php 控制器文件中编写条件并使用单独的模板文件。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2014-06-30
    • 2022-08-22
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多