Добрый день!
Сайт на drupal 7, модуль views 3.
Передаю во вьюс, nid нод для вывода, через контекстный фильтр "Content: Nid".
Ожидаю получить на выходе, именно тот порядок нод, который передал во вьюс (30,4,7).
Любую сортировку убрал - так как сортировка определяется во вневшнем поле, а не внутри выводимых нод.
Записи все равно сортируются в порядке возрастания nid: 4,7,30.
Вопрос, как можно отсортировать ноды во вьюс, в передаваемом мною порядке из вне?
Комментарии
Картинка:
Пока нашел, потенциальный модуль: https://www.drupal.org/project/views_arguments_extras
Он работает "иногда", пока не понял от каких условий зависит.
Вообще похоже придется писать свой вывод тизеров нод, вместо Вьюса..
[РЕШЕНО]
Благодарю всех откликнувшихся за помощь!
Рабочее решение, модуль https://www.drupal.org/project/views_arguments_extras - версии dev.
(https://www.drupal.org/project/views_arguments_extras/releases/7.x-1.x-dev).
Напрасно: порядок вывода результатов SQL-запроса при отсутствии ORDER BY - произвольный. То, что они вышли в порядке возрастания nid - чистая случайность и стечение обстоятельств.
Боюсь, что без программирования никак.
Можно полюбопытствовать: какая задача потребовала такого неординарного запроса? Откуда изначально берутся числа 30,4,7 и их порядок?
Он не случаен, данный результат повторяется из раза в раз (при обновлении контента).
Один и те же карточки товара, должны выводится на разных страницах, в разной последовательности (с разной сортировкой), в зависимости от их приоритетности/актуальности для данной страницы.
Сегодня повторяется, завтра повторяется, а послезавтра не повторится. И никто не виноват.
Приоритетность/актуальность для данной страницы как определяется? Повторю еще раз свой вопрос: откуда берется последовательность 30,4,7 для передачи во View в качестве аргумента?
Из сторонней системы, определяющей веса. Плюс иногда вмешивается оператор.
30,4,7 - nid'ы нод, хранящиеся в отдельном поле.
Технически процесс выглядит так:
На странице есть поле, с прописанными нодами: "30,4,7,1025,123,1163".
Далее, эти nid передаются в качестве аргумента для вывода во вьюс на этой странице.
Важно:
1. Чтобы на данной странице, вывелись именно данные ноды (nid'ы).
2. Чтобы они вывелись именно в таком порядке.
Вот с этим проще всего - есть модуль Draggable Views.
Не вижу как это можно накликать мышкой. Только если писать свой sort handler.
Да, видел его. Но, у меня 1000чи страниц, и как его приспособить для вывода уникальной сортировки для каждой страницы, пусть даже вручную, не придумал (не создавая уникальный вьюс, под каждую выдачу).
Попробуйте Views List Sort
Не понял как его использовать :(.