我目前正在创建基于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错误。有什么想法吗?
答案 0 :(得分:9)
MypageController.php
移至root/controllers/front
。 public $php_self = 'mypage';
。BO > Preferences > SEO & URLs
并添加新页面,为页面字段选择mypage
。您的根目录中不需要Mypage.php
,您可以通过链接yoururl/index.php?controller=mypage
访问您的控制器。但是如果你想使用它,请写Controller::getController('MypageController')->run();
。
答案 1 :(得分:-1)
不确定你的代码是因为我没有测试它但是你应该去SEO&amp;网址会创建新页面并选择新页面Mypage,页面标题,友好的网址元标记和关键字。
答案 2 :(得分:-2)
您可以为自定义页面创建新模块。
http://doc.prestashop.com/display/PS16/Creating+a+first+module