Пользовательская страница в Prestashop 1.6 без CMS

В настоящее время я создаю настраиваемую страницу на основе 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