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

09 Апрель 2015, 15:35:23
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-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
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-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

{* Содержимое шаблона *}
19 Август 2017, 15:23:36
Ответ #2
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Все сделал по аналогии (v.1.6) - работает нормально, эта страница не отображается в хлебных крошках.
?
19 Август 2017, 15:33:48
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
$this->context->smarty->assign(array(
                'path' => $path,
Переменную 'path' нужно определить для шаблона.
19 Август 2017, 15:48:15
Ответ #4
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
26 Июль 2018, 09:59:28
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Для Prestashop 1.7
1. Создаете контроллер для фронт-офиса : /override/controllers/front/MyPageFrontController.php
2. Создаете  шаблон страницы : /themes/monTheme/templates/mypage.tpl
3. Добавляете контроллер в админке в Параметры магазина / Трафик и SEO SEO и URL
4. Очищаете кеш
5. Проверяете страницу site.ru/mypage
Cоздание интернет сайтов Webstudio UwK