Автор Тема: Prestashop FAQ - как добавить новую страницу  (Прочитано 1009 раз)

09 Апреля 2015, 15:35:23
  • Ветеран
  • *****
  • Сообщений: 105584
  • Репутация: +39547/-0
    • Просмотр профиля
    • Webstudio UwK
Prestashop 1.4
1. Добавить файл MyPageConroller.php в директорию /controllers/ вашего сайта

<?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');
        }
}

2. Создать файл mypage.php в корне вашего сайта
<?php

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('MyPageConroller')->run();


3.Создать шаблон в директории вашей темы mypage.tpl

{capture name=path}{l s='My page'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
<h1>Title</h1>

4. Панель управления prestashop > Настройки > SEO & URLs
Добавить страницу.
Выьрать вашу страницу mypage.

Cоздание интернет сайтов Webstudio UwK
09 Апреля 2015, 15:48:31
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
Для prestashop 1.6.
Достаточно создать контроллер и шаблон

=1=
/controllers/front/MypageController.php
<?php

class MypageControllerCore extends FrontController
{
public $php_self 'mypage';

public function init() {
parent::init();
}

public function initContent() {
parent::initContent();
$this->setTemplate(_PS_THEME_DIR_.'mypage.tpl');
}
}

=2=
/themes/my-theme/mypage.tpl

{* Содержимое шаблона *}