Пример шаблона
/themes/tarly/views/actor/Tom-Kruz.ejs
: https://demo.cinema.press/actor-a-Tom-KruzКастомный шаблон для каждой страницы:
- 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
<%- 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
, чем каждый раз перекопировать.
Код:
<%- include('includes/top.ejs'); -%>
<div>
<h1>Лучшие фильмы Тима Бертона</h1>
<div>Режиссер кино</div>
</div>
<%- include('includes/bottom.ejs'); -%>
Пример использования кастомного набора данных
Создаёте файл
/views/director/Тим Бертон.json
, например с таким содержимым {"title": "Лучшие фильмы Тима Бертона", "type": "Режиссер кино"}
.В шаблоне
/views/category.ejs
добавляете в нужное место блок, где выведите кастомное содержимое.
Код:
<% if (page.custom.title) { %>
<div>
<h1><%- page.custom.title %></h1>
<div><%- page.custom.type %></div>
</div>
<% } %>