I'm currently creating a customized page based on Bootstrap so I cannot pass through the CMS.
I created a file Mypage.php
that I put at the Prestahop root containing this code :
<?php
require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('MypageController')->run();
?>
Then I created a controller MypageController.php
containing this code in 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');
}
}
And finally I put a Mypage.tpl
file in my theme directory with my HTML code.
I naturally erased cache/class_index.php
but I still get a 404 error. Any ideas?
MypageController.php
to root/controllers/front
. public $php_self = 'mypage';
.BO > Preferences > SEO & URLs
and add a new page, select mypage
for the Page field.There is no need for the Mypage.php
in your root, you can access your controller at link yoururl/index.php?controller=mypage
. But if you want to use it, write Controller::getController('MypageController')->run();
.