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

use*_*155 4 php controller prestashop-1.6

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

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

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

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

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');
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

小智 9

  • 移动MypageController.phproot/controllers/front.
  • 改变public $php_self = 'mypage';.
  • 转到BO > Preferences > SEO & URLs并添加新页面,选择mypage"页面"字段.

Mypage.php您无需在根目录中访问链接控制器yoururl/index.php?controller=mypage.但如果你想使用它,请写Controller::getController('MypageController')->run();.