Автор Тема: Как создать footer.php в PrestaShop 1.7  (Прочитано 718 раз)

02 Декабрь 2019, 21:37:20
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Хочу создать файл footer.php в PrestaShop 1.7. Так как в  PrestaShop 1.6.
В корне сайта создал файл  footer.php
if (isset(Context::getContext()->controller)) {
    $controller = Context::getContext()->controller;
} else {
    $controller = new FrontController();
    $controller->init();
}
Tools::displayFileAsDeprecated();
$controller->displayFooter();

В файле FrontControler.php добавил
public function displayFooter($display = true)
    {
        Tools::displayAsDeprecated();
        $this->smartyOutputContent(_PS_THEME_DIR_.'footer.tpl');
    }

Создал файл themes/classic/templates/footer.tpl

Запускаю footer.php получаю Сайт .......... пока не может обработать этот запрос.
500???
02 Декабрь 2019, 21:44:07
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.7 такой метод не работает. В корне все запросы на index.php.
Переопределить footer можно через шаблоны или FrontController.php.
02 Декабрь 2019, 21:46:34
Ответ #2
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.7 такой метод не работает. В корне все запросы на index.php.
Переопределить footer можно через шаблоны или FrontController.php.
Как это реализовать через  FrontController.php?
03 Декабрь 2019, 11:44:36
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Проще переопределить footer.tpl через дочернюю тему. Создайте файл
/themes/mychildtheme/templates/_partials/header.tpl
И подключите новую тему.
04 Декабрь 2019, 15:16:21
Ответ #4
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проще переопределить footer.tpl через дочернюю тему. Создайте файл
/themes/mychildtheme/templates/_partials/header.tpl
И подключите новую тему.
А можно более подробно. Я так понимаю я должен создать новую тему и подключить ее. Как мне отразить в файле php footer?
04 Декабрь 2019, 16:43:48
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Создаете папку темы в /themes/
├── config/
│ ├── theme.yml
└── preview.png
в theme.yml
parent: 'название род. темы'
name: 'название новой темы'
display_name: 'Любое название'
version: 1.0.0
assets:
use_parent_assets: true
Последний параметр может быть false, если не хотите использовать css и js оригинальной темы.
Создаете шаблон, который хотите изменить
/themes/classic/templates/_partials/footer.tplВ файле
{extends file='parent:_partials/footer.tpl'}
{block name='название блока который хотите изменить'}
....
{/block}
04 Декабрь 2019, 19:10:08
Ответ #6
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля

Создаете шаблон, который хотите изменить
/themes/classic/templates/_partials/footer.tplВ файле
{extends file='parent:_partials/footer.tpl'}
{block name='название блока который хотите изменить'}
....
{/block}

Это не совсем понятно? Создал папку mytheme. В ней сделал по вашей инструкции. Шаблон нужно создать в папке mytheme/ templates / footer.tpl? И вызывать его в своем footer.php файле через if (isset(Context::getContext()->controller)) {
    $controller = Context::getContext()->controller;
} else {
    $controller = new FrontController();
    $controller->init();
}
Tools::displayFileAsDeprecated();
$controller->displayFooter();
05 Декабрь 2019, 11:55:36
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Какой шаблон заменяете, такой файл и создавайте.
Если footer, то создаете:
/themes/mytheme/templates/_partials/footer.tpl
05 Декабрь 2019, 21:32:19
Ответ #8
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Какой шаблон заменяете, такой файл и создавайте.
Если footer, то создаете:
/themes/mytheme/templates/_partials/footer.tpl
Как вызвать шаблон в своем footer.php файле?
05 Декабрь 2019, 22:21:07
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Зачем вам footer.php нужен?
Все запросы на index.php. В prestashop 1.7 другая архитектура.
07 Декабрь 2019, 22:22:58
Ответ #10
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Зачем вам footer.php нужен?
Все запросы на index.php. В prestashop 1.7 другая архитектура.
У меня есть свой файл php который работает без prestashop 1.7. Мне нужно к нему подключить  footer. Создать модуль мне не подходит. Потому что сайт работает без prestashop 1.7
08 Декабрь 2019, 00:14:59
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Зачем вам footer.php нужен?
Все запросы на index.php. В prestashop 1.7 другая архитектура.
У меня есть свой файл php который работает без prestashop 1.7. Мне нужно к нему подключить  footer. Создать модуль мне не подходит. Потому что сайт работает без prestashop 1.7
Если у вас не prestashop, то просто
file_get_contents('путь к файлу'/footer.tpl);