Возможность изменять шаблон любой страницы на сайте отдельно от других

Регистрация
15 Дек 2017
Сообщения
5,067
#1
Tom-Kruz.jpg

Буквально для каждой страницы на сайте теперь есть возможность создать свой кастомный шаблон. Вы можете изменить и персонализировать страницу под каждого актера, режиссера, жанр, страну, год, фильм, контент и даже результат поиска.
Пример шаблона /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
Более того, если Вам не по душе такой «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, чем каждый раз перекопировать.
Код:
<%- 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>
<% } %>
 
Енот
Новичо́к, через «о́»
Регистрация
10 Ноя 2019
Сообщения
53
#2
крутое обновление спасибо огромнейшее!
 
Енот
Новичо́к, через «о́»
Регистрация
22 Апр 2019
Сообщения
94
#3
Тема интересная, но плохо, что на простое есть видео инструкция, а вот про такое нет.
 
Новичо́к, через «о́»
Регистрация
17 Янв 2020
Сообщения
19
#4
Я так понял нужно скопировать код с category в новый файл ? ( и изменить пути к инклудс файлам)
 
Енот
Новичо́к, через «о́»
Регистрация
24 Окт 2019
Сообщения
154
#6
это просто супер функционал , разобрался с json , огромное вам спасибо за труды!
 
Енот
Новичо́к, через «о́»
Регистрация
5 Апр 2020
Сообщения
317
#7
Думаю это физические трудно сделать. Актеров тут много и режиссеры тоже.
 
Енот
Новичо́к, через «о́»
Регистрация
15 Сен 2018
Сообщения
88
#8
Буквально для каждой страницы на сайте теперь есть возможность создать свой кастомный шаблон. Вы можете изменить и персонализировать страницу под каждого актера, режиссера, жанр, страну, год, фильм, контент и даже результат поиска.
Пример шаблона /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
Более того, если Вам не по душе такой «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, чем каждый раз перекопировать.
Код:
<%- 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>
<% } %>
Здравствуйте Алиса, сделайте пожалуйста видео если вам будет не трудно , на примере с жанром и type. Ваше видео очень помогают, давно хотел спросить вы озвучиваете видео на ютубе? Просто голос сильно приятный.
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#9
Здравствуйте Алиса, сделайте пожалуйста видео если вам будет не трудно , на примере с жанром и type. Ваше видео очень помогают, давно хотел спросить вы озвучиваете видео на ютубе? Просто голос сильно приятный.
Это озвучка просто подогнали под голос девушки)в интернете много таких сервисов
 
Енот
Новичо́к, через «о́»
Регистрация
22 Апр 2019
Сообщения
94
#10
@Alisa, Для мобильной версии надо делать аналогично? Т.е в themes/default/views/mobile/ создать папку и туда добавить новый шаблон?
 
Регистрация
15 Дек 2017
Сообщения
5,067
#12
@Alisa, Для мобильной версии надо делать аналогично? Т.е в themes/default/views/mobile/ создать папку и туда добавить новый шаблон?
Чтобы мобильная версия открывалась на кастомном шаблоне, кладите его в папку mobile в папке шаблона.

/themes/название-шаблона/views/mobile/actor/Tom-Kruz.ejs
 
Енот
Новичо́к, через «о́»
Регистрация
22 Апр 2019
Сообщения
94
#13
Чтобы мобильная версия открывалась на кастомном шаблоне, кладите его в папку mobile в папке шаблона.

/themes/название-шаблона/views/mobile/actor/Tom-Kruz.ejs
Использую мобильную версию - "Своя тема". Не работает такой вариант.
 
Енот
Новичо́к, через «о́»
Регистрация
13 Июн 2020
Сообщения
143
#15
Сделал кастомный шаблон для movie, но теперь не переходит на вкладки: "Трейлеры" и "Кадры". Плеер прогружает, но сама страница не меняется. Что, с этим, можно сделать?