Как отлючить лишние сортировки контента?

Енот
Новичо́к, через «о́»
Регистрация
24 Окт 2019
Сообщения
154
#1
Добрый день!

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

Суть вопроса в следующем , в респонсив темплейте написанной мною , для десктоп версии выдается только 4 типа сортировки , на мобилу же 4 и 3 (в зависимости от разрешения, цсской регулирую) , у нас же в скрипте по дефолту 6 и в обе стороны каждая.

Мне необходимо вывести таким образом

<div class="sort">
<b>Сортировать по:</b>

тут стабатывает сортировка, при которой тип обьектов понимается (фильмы , сериалы, и прочее)
Код:
    <% if (typeof page.sorting === 'object') { %>
        <% page.sorting.forEach(function (sort) { %>
        <% if (sort.active) { %> - активный
        <a href="<%- sort.url %>" class="active"><%- sort.name %></a>
        <% } else { %> - остальные
        <a href="<%- sort.url %>"><%- sort.name %></a>
        <% } }); %>
    <% } %>
тут только жесткие урлы которые ведут на фильмы (выводятся только на мобайле)

Код:
    <a href="/type/фильмы?sorting=imdb-rating-up" class="m active">рейтинг</a> - для мобайл
    <a href="/type/фильмы?sorting=imdb-vote-up" class="m">популярность</a> - для мобайл
    <a href="/type/фильмы?sorting=premiere-up" class="m pr">премьера</a> - скрывается на меньше 400px
    <a href="/type/фильмы?sorting=year-up" class="m">год</a> - для мобайл
кастомные урлы статические
</div>

стиля для мобайл на десктоп версии не выводятся , а на мобайле весь блок сортировки массива скрывается. так же в нем выводится 6 типов , мне надо скрыть некоторые из них и для десктопа. Например оставить только популярность imdb , и не выводить популярность по КП.

Заранее Спасибо!
 
Регистрация
15 Дек 2017
Сообщения
5,067
#2
JavaScript:
<% if (typeof page.sorting === 'object') { %>
    <% page.sorting.forEach(function (sort) { %>
        <% if (sort.active) { %>
            <a href="<%- sort.url %>" class="active"><%- sort.name %></a>
        <% } else { %>
            <a href="<%- sort.url %>"><%- sort.name %></a>
    <% } }); %>
<% } %>
Массив проходит по всем сортировкам, можно через indexOf находить нужную и делать return, тем самым не продолжая ее отрисовку.
JavaScript:
<% if (typeof page.sorting === 'object') { %>
    <% page.sorting.forEach(function (sort) { %>
        <% if (sort.url.indexOf('kinopoisk-vote-up')+1) return; %>
        <% if (sort.active) { %>
            <a href="<%- sort.url %>" class="active"><%- sort.name %></a>
        <% } else { %>
            <a href="<%- sort.url %>"><%- sort.name %></a>
    <% } }); %>
<% } %>
 
Енот
Новичо́к, через «о́»
Регистрация
24 Окт 2019
Сообщения
154
#3
Спасибо все сработало
JavaScript:
<% if (typeof page.sorting === 'object') { %>
    <% page.sorting.forEach(function (sort) { %>
        <% if (sort.url.indexOf('kinopoisk-rating-down')+1) return; %>
        <% if (sort.url.indexOf('kinopoisk-rating-up')+1) return; %>
        <% if (sort.url.indexOf('kinopoisk-vote-down')+1) return; %>
        <% if (sort.url.indexOf('kinopoisk-vote-up')+1) return; %>
        <% if (sort.active) { %>
            <a href="<%- sort.url %>" class="active"><%- sort.name %></a>
        <% } else { %>
            <a href="<%- sort.url %>"><%- sort.name %></a>
    <% } }); %>
<% } %>
таким образом выкидываем не нужные, и в /admin/display переименовываем как нужно