В настоящее время я создаю настраиваемую страницу на основе Bootstrap, поэтому я не могу пройти через CMS.
Я создал файл Mypage.php
который я ввел в корень Prestahop, содержащий этот код:
<?php require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('MypageController')->run(); ?>
Затем я создал контроллер 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'); } }
И, наконец, я поместил файл Mypage.tpl
в свой каталог тем с моим кодом HTML.
Я, естественно, удалил cache/class_index.php
но я все еще получаю ошибку 404. Есть идеи?
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();
,
Не уверен, что ваш код вызвал, я его не тестировал, но вы должны перейти к SEO и URL-адресам, чтобы создать новую страницу и выбрать новую страницу Mypage, название страницы, метатег и ключевые слова дружественных URL-адресов.
Вы можете создать новый модуль для своей пользовательской страницы.
http://doc.prestashop.com/display/PS16/Creating+a+first+module