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

09 Апрель 2015, 15:35:23
  • Ветеран
  • *****
  • Сообщений: 105596
  • Репутация: +39548/-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
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33071
  • Репутация: +26762/-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
  • Фрилансер
  • *
  • Сообщений: 163
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Все сделал по аналогии (v.1.6) - работает нормально, эта страница не отображается в хлебных крошках.
?
19 Август 2017, 15:33:48
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 14085
  • Репутация: +14569/-2
  • Сообщество PrestaShop
    • Просмотр профиля
$this->context->smarty->assign(array(
                'path' => $path,
Переменную 'path' нужно определить для шаблона.
19 Август 2017, 15:48:15
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 163
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля