编程语言
首页 > 编程语言> > php – 没有CMS的Prestashop 1.6中的自定义页面

php – 没有CMS的Prestashop 1.6中的自定义页面

作者:互联网

我目前正在创建一个基于Bootstrap的自定义页面,因此我无法通过CMS.

我创建了一个文件Mypage.php,我在Prestahop根目录中包含以下代码:

<?php
    require(dirname(__FILE__).'/config/config.inc.php');
    ControllerFactory::getController('MypageController')->run();
?>

然后我在override / controllers / front中创建了一个包含此代码的控制器MypageController.php:

class MypageControllerCore extends FrontController
{
    public $php_self = 'Mypage.php';
    public $ssl = true;

    public function preProcess()
    {
        parent::preProcess();
    }

    public function setMedia()
    {
        parent::setMedia();
        Tools::addCSS(_THEME_CSS_DIR_.'Mypage.css');
    }

    public function displayContent()
    {
        $_POST = array_merge($_POST, $_GET);
        parent::displayContent();
        self::$smarty->display(_PS_THEME_DIR_.'Mypage.tpl');
    }
}

最后我用我的HTML代码在我的主题目录中放了一个Mypage.tpl文件.

我自然删除了cache / class_index.php,但我仍然遇到404错误.有任何想法吗?

解决方法:

>将MypageController.php移动到root / controllers / front.
>改变公共$php_self =’mypage’;.
>转到BO>偏好> SEO& URL并添加新页面,为页面字段选择mypage.

您的root中不需要Mypage.php,您可以在链接yoururl / index.php?controller = mypage访问您的控制器.但是如果你想使用它,可以编写Controller :: getController(‘MypageController’) – > run();.

标签:php,controller,prestashop-1-6
来源: https://codeday.me/bug/20190528/1172029.html