Как сделать мультимодуль связных фильмов?

Енот
Новичек
Регистрация
18 Июл 2018
Сообщения
50
#1
Здравствуйте! Как сделать мультимодуль связных фильмов? Чтобы в рекомендуемых фильмах выходило пять типов: 1\ фильм того же жанра 2\ сериал того же жанра 3\ фильм того же года из ТОП 10 4\ Фильм из ТОП 10 той же страны 5\ И фильм того же режиссера
Надо, чтобы располагались они по горизонтали, вот так:
 

Вложения

App

Думает, что помогает
Регистрация
26 Дек 2017
Сообщения
379
#2
Здравствуйте! Как сделать мультимодуль связных фильмов? Чтобы в рекомендуемых фильмах выходило пять типов: 1\ фильм того же жанра 2\ сериал того же жанра 3\ фильм того же года из ТОП 10 4\ Фильм из ТОП 10 той же страны 5\ И фильм того же режиссера
Надо, чтобы располагались они по горизонтали, вот так:
это 5-ть трудоёмких запросов для страницы ради 1 фильма в каждом запросе. выводите уже всю 5-ку фильмов из каждого запроса.
 
Енот
Новичек
Регистрация
18 Июл 2018
Сообщения
50
#5

App

Думает, что помогает
Регистрация
26 Дек 2017
Сообщения
379
#6
У меня так и есть сейчас. Просто хочу чтобы не 5 модулей выводилось на странице и нагрузка больше была, а 5 разных типов фильмов выводилось в одном модуле.
нагрузка будет одинаковая. чтобы выводить по одному фильму из каждого блока в ряд, нужно
  • в админ-панели в «Связанные фильмы» настроить по одному фильму из одного года, жанра, страны, актера, режиссера;
  • выводить их не в столбцы, а в ряд, изменив шаблон вывода в movie.ejs
HTML:
<% if (typeof movies === 'object') {
        for (var type in movies) {
if (movies.hasOwnProperty(type) && movies[type].length) {
movies[type].forEach(function (category) { %>
<div style="clear: both">
    <div class="bold advice_inf" style="margin: 20px auto 0 auto">
        <i><%- category.name %></i>
    </div>
    <ul class="bloggg" style="padding-top: 15px;">
        <% if (category.movies.length) {
        category.movies.forEach(function (movie) { %>
        <li>
            <a href="<%- movie.url %>" class="brost" title="<%= movie.title %> (<%- movie.year %>)">
                <img src="<%- movie.poster %>" alt="<%= movie.title %>" style="height:170px; width:115px;">
                <%= movie.title %> (<%- movie.year %>)
            </a>
        </li>
        <% }); } %>
    </ul>
</div>
<% }); } } } %>
выносим (до и после) за итерацию названия блоков, так как у нас он будет один:
HTML:
<div style="clear: both">
    <div class="bold advice_inf" style="margin: 20px auto 0 auto">
        <i>Связанные фильмы</i>
    </div>
    <ul class="bloggg" style="padding-top: 15px;">
    <% if (typeof movies === 'object') {
            for (var type in movies) {
    if (movies.hasOwnProperty(type) && movies[type].length) {
    movies[type].forEach(function (category) { %>
            <% if (category.movies.length) {
            category.movies.forEach(function (movie) { %>
            <li>
                <a href="<%- movie.url %>" class="brost" title="<%= movie.title %> (<%- movie.year %>)">
                    <img src="<%- movie.poster %>" alt="<%= movie.title %>" style="height:170px; width:115px;">
                    <%= movie.title %> (<%- movie.year %>)
                </a>
            </li>
            <% }); } %>
    <% }); } } } %>
    </ul>
</div>
в остальных шаблонах всё аналогично.
 
Енот
Новичек
Регистрация
18 Июл 2018
Сообщения
50
#7
нагрузка будет одинаковая. чтобы выводить по одному фильму из каждого блока в ряд, нужно
  • в админ-панели в «Связанные фильмы» настроить по одному фильму из одного года, жанра, страны, актера, режиссера;
  • выводить их не в столбцы, а в ряд, изменив шаблон вывода в movie.ejs
HTML:
<% if (typeof movies === 'object') {
        for (var type in movies) {
if (movies.hasOwnProperty(type) && movies[type].length) {
movies[type].forEach(function (category) { %>
<div style="clear: both">
    <div class="bold advice_inf" style="margin: 20px auto 0 auto">
        <i><%- category.name %></i>
    </div>
    <ul class="bloggg" style="padding-top: 15px;">
        <% if (category.movies.length) {
        category.movies.forEach(function (movie) { %>
        <li>
            <a href="<%- movie.url %>" class="brost" title="<%= movie.title %> (<%- movie.year %>)">
                <img src="<%- movie.poster %>" alt="<%= movie.title %>" style="height:170px; width:115px;">
                <%= movie.title %> (<%- movie.year %>)
            </a>
        </li>
        <% }); } %>
    </ul>
</div>
<% }); } } } %>
выносим (до и после) за итерацию названия блоков, так как у нас он будет один:
HTML:
<div style="clear: both">
    <div class="bold advice_inf" style="margin: 20px auto 0 auto">
        <i>Связанные фильмы</i>
    </div>
    <ul class="bloggg" style="padding-top: 15px;">
    <% if (typeof movies === 'object') {
            for (var type in movies) {
    if (movies.hasOwnProperty(type) && movies[type].length) {
    movies[type].forEach(function (category) { %>
            <% if (category.movies.length) {
            category.movies.forEach(function (movie) { %>
            <li>
                <a href="<%- movie.url %>" class="brost" title="<%= movie.title %> (<%- movie.year %>)">
                    <img src="<%- movie.poster %>" alt="<%= movie.title %>" style="height:170px; width:115px;">
                    <%= movie.title %> (<%- movie.year %>)
                </a>
            </li>
            <% }); } %>
    <% }); } } } %>
    </ul>
</div>
в остальных шаблонах всё аналогично.
Благодарю! =)