admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
462
Реакции
84
tom-kruz-jpg-2578.jpg

Буквально для каждой страницы на сайте теперь есть возможность создать свой кастомный шаблон. Вы можете изменить и персонализировать страницу под каждого актера, режиссера, жанр, страну, год, фильм, контент и даже результат поиска.
Пример шаблона /themes/tarly/views/actor/Tom-Kruz.ejs

Кастомный шаблон для каждой страницы:
  • URL: /genre/комедия »»»»»»»»»» Шаблон: /views/genre/комедия.ejs
  • URL: /country/c-Rossiya »»»»»»»» Шаблон: /views/country/Rossiya.ejs
  • URL: /year/2021 »»»»»»»»»»»»»»» Шаблон: /views/year/2021.ejs
  • URL: /actor-a-Tom-Kruz »»»»»»»»» Шаблон: /views/actor/Tom-Kruz.ejs
  • URL: /director-Тим Бертон »»»»»» Шаблон: /views/director/Тим Бертон.ejs
  • URL: /type/фильмы »»»»»»»»»»»» Шаблон: /views/type/фильмы.ejs
  • URL: /search?q=Игра престолов » Шаблон: /views/search/Игра престолов.ejs
  • URL: /movie/id299-the-matrix »»» Шаблон: /views/movie/299.ejs
  • URL: /content/obnovleniya »»»»»» Шаблон: /views/content/obnovleniya.ejs
  • URL: /actor »»»»»»»»»»»»»»»»»»» Шаблон: /views/actor/index.ejs
Более того, если Вам не по душе такой «Bitrix-стайл», Вы можете создать кастомный набор данных для каждой страницы в виде json файла и получением этих данных в шаблоне <%- page.custom %>.

Кастомный набор данных для каждой страницы:
  • URL: /genre/комедия »»»»»»»»»» Шаблон: /views/genre/комедия.json
  • URL: /country/c-Rossiya »»»»»»»» Шаблон: /views/country/Rossiya.json
  • URL: /year/2021 »»»»»»»»»»»»»»» Шаблон: /views/year/2021.json
  • URL: /actor-a-Tom-Kruz »»»»»»»» Шаблон: /views/actor/Tom-Kruz.json
  • URL: /director-Тим Бертон »»»»»» Шаблон: /views/director/Тим Бертон.json
  • URL: /type/фильмы »»»»»»»»»»»» Шаблон: /views/type/фильмы.json
  • URL: /search?q=Игра престолов » Шаблон: /views/search/Игра престолов.json
  • URL: /movie/id299-the-matrix »»» Шаблон: /views/movie/299.json
  • URL: /content/obnovleniya »»»»»» Шаблон: /views/content/obnovleniya.json
  • URL: /actor »»»»»»»»»»»»»»»»»»» Шаблон: /views/actor/index.json
Пример использования кастомного шаблона

Создаёте файл /views/director/Тим Бертон.ejs, так как это категория, то шаблон будет идентичен с /views/category.ejs (учтите, что в этом файле <%- include('includes/head.ejs'); -%> происходит относительно папки /views/, а Вы находитесь в /views/director/, т.е. нужно везде будет поменять на <%- include('../includes/head.ejs'); -%>).
Создаёте файлы /views/director/includes/top.ejs и /views/director/includes/bottom.ejs, там будем хранить шаблоны которые выше и ниже нашего кастомного блока. Так как эти данные будут повторяться на всех страницах, лучше их include, чем каждый раз перекопировать.

HTML:
<%- include('includes/top.ejs'); -%>
<div>
  <h1>Лучшие фильмы Тима Бертона</h1>
  <div>Режиссер кино</div>
</div>
<%- include('includes/bottom.ejs'); -%>

Пример использования кастомного набора данных

Создаёте файл /views/director/Тим Бертон.json, например с таким содержимым {"title": "Лучшие фильмы Тима Бертона", "type": "Режиссер кино"}.
В шаблоне /views/category.ejs добавляете в нужное место блок, где выведите кастомное содержимое.

HTML:
<% if (page.custom.title) { %>
  <div>
    <h1><%- page.custom.title %></h1>
    <div><%- page.custom.type %></div>
  </div>
<% } %>
 
Верх