Автор Тема: Определение шаблона  (Прочитано 769 раз)

25 Декабрь 2017, 13:35:23
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
проясните, пожалуйста, один момент.
как определить шаблон, который должен подключаться конкретной странице?

например, в случае с фреймворком контроллер может разобрать роут, отработать данные и отрендерить нужную вьюху.
как в случае с престой правильно поступать?

<!doctype html>
<html lang="{$language.iso_code}">

  <head>
    {block name='head'}
      {include file='_partials/head.tpl'}
    {/block}
  </head>

  <body id="{$page.page_name}" class="{$page.body_classes|classnames}">

          {block name='inывыфdex'}
            {include file='_partials/index.tpl'}
          {/block}


    {block name='javascript_bottom'}
      {include file="_partials/javascript.tpl" javascript=$javascript.bottom}
    {/block}

    {block name='hook_before_body_closing_tag'}
      {hook h='displayBeforeBodyClosingTag'}
    {/block}
  </body>

</html>
25 Декабрь 2017, 14:00:16
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
{if $page.page_name == 'index, category, cms ...'}
        {include file='путь к файлу tpl'}
25 Декабрь 2017, 14:13:30
Ответ #2
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
так подходит, но для простой натяжки верстки.
а как в дальнейшем модули подключать, чтобы могли отрабатывать на разных страницах?
корзина, например.
25 Декабрь 2017, 14:17:30
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Модули подключаюся в хуки.
{hook h='название хука'}
25 Декабрь 2017, 14:18:06
Ответ #4
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
а регистрировать хуки нужно?
25 Декабрь 2017, 14:21:42
Ответ #5
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
файл называется C:\OSPanel\domains\localhost\kohl\prestashop\themes\classic\templates\layouts\layout-both-columns.tpl, тогда как {$page.page_name} вывело 'index' .
видимо, где-то страница регистрируются под алиасами?
25 Декабрь 2017, 14:48:45
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
У каждой страницы свое имя. Увидеть названия можно у тега body.
Хуки есть определенные, их не нужно объявлять.
https://prestashop-forum.ru/index.php/topic,1669.0.html
26 Декабрь 2017, 10:16:26
Ответ #7
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
мы что-то упустили.
  <body id="{$page.page_name}" class="{$page.body_classes|classnames}">
      {$page.page_name}
{if $page.page_name == 'contacts'}
          {block name='inывыфdex'}
            {include file='_partials/index.tpl'}
          {/block}
{/if}
в урле '/contacts' , имя страницы - 'pagenotfound'
26 Декабрь 2017, 12:41:53
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Вы читаете не внимательно, то что пишут
У каждой страницы свое имя. Увидеть названия можно у тега body.

Открываете страницу контакты и смотрите код страницы
<body id="contact" class="lang-ru country-ru currency-rub layout-left-column page-contact tax-display-enabled">
page_name = contact
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
26 Декабрь 2017, 13:21:38
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
в урле '/contacts' , имя страницы - 'pagenotfound'
Потому что нет такого названия страниц в prestashop.
Вы сделали новую страницу?
26 Декабрь 2017, 13:31:49
Ответ #10
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
ещё раз.
открываю страницу контакты ('/contacts') и получаю в названии страницы 'pagenotfound'.
почему? потому, что нужно где-то определить ещё как-то или что?

я натягиваю вёрстку на дефолтный шаблон, не переделываю. ещё раз. с нуля.
26 Декабрь 2017, 13:32:11
Ответ #11
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
в урле '/contacts' , имя страницы - 'pagenotfound'
Потому что нет такого названия страниц в prestashop.
Вы сделали новую страницу?
вот, а как сделать новую страницу? шаблоны *.tpl нужные имеются так-то
26 Декабрь 2017, 15:07:31
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
ещё раз.
открываю страницу контакты ('/contacts') и получаю в названии страницы 'pagenotfound'.
почему? потому, что нужно где-то определить ещё как-то или что?

я натягиваю вёрстку на дефолтный шаблон, не переделываю. ещё раз. с нуля.
Страницы "contacts" нет в Prestashop.
В дефолтной теме есть страница "contact".

Чтобы добвить свою страницу, нужно создать контроллер в кором определить шаблон и переменные шаблона.
В админке в seo url добавить название страницы и название контроллера.