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
toroot/controllers/front
.public $php_self = 'mypage';
.BO > Preferences > SEO & URLs
and add a new page, selectmypage
for the Page field.There is no need for the
Mypage.php
in your root, you can access your controller at linkyoururl/index.php?controller=mypage
. But if you want to use it, writeController::getController('MypageController')->run();
.Not sure your code cause I did not test it but you should go to SEO & URLs create new page and choose your new page Mypage, title of the page, friendly urls meta tag and keywords.
You can create a new module for you custom page.
http://doc.prestashop.com/display/PS16/Creating+a+first+module