У цьому уроці ми розглянемо що таке розкриті фільтри і критерії сортування.
Переходимо на сторінку редагування відображення головної сторінки і натискаємо на посилання Додати в секції Критерії фільтрації.
Вибираємо в поле Для пункт Цей page (перевизначити). щоб фільтри додалися тільки до відображення головної сторінки. У списку полів вибираємо Вміст: Країна і натискаємо Застосувати (це відображення).
У наступному вікні все залишаємо як є і натискаємо Застосувати і продовжити.
У вікні налаштувань критеріїв фільтра ставимо галочку Розкрити цей фільтр для відвідувачів і дозволити його змінювати. Саме ця настройка і робить зі звичайного фільтра розкритий, також перед нами розгортається форма з додатковими настройками для розкритого фільтра. Тут можна вибрати значення за замовчуванням, мітку і т.д.
Натискаємо Застосувати (це відображення).
Тепер додамо розкритий критерій сортування по полю Оцінка.
Натискаємо на посилання Додати в секції Критерій сортування.
Також переобумовленої настройки критеріїв сортування для даного відображення вибравши Цей page (перевизначити) в поле Для. У списку критеріїв вибираємо поле Вміст: Оцінка і натискаємо Застосувати (це відображення).
У наступному вікні налаштувань критерію сортування ставимо галочку Розкрийте цю сортування для відвідувачів, щоб дозволити їм змінювати її і натискаємо Застосувати (це відображення).
У спливаючому вікні виставляємо порядок так, щоб поле Оцінка було першим в списку і натискаємо Застосувати (це відображення).
Зберігаємо налаштування відображення.
Тепер над списком фільмів у нас з'явилася форма дозволяє впорядкувати фільми по полю Оцінка в порядку зростання або зменшення, а також відфільтрувати фільми по полю Країна.
Якщо ми спробуємо поставити порядок сортування По убуванню. то фільми будуть виводиться в тому-ж порядку як в блоці Топ 5.
Далі спробуємо відфільтрувати фільми по країні. Вибираємо в поле Країна значення СРСР і натискаємо Застосувати. Після цього в списку залишилися тільки фільми зняті в СРСР.
Якщо ми спробуємо відфільтрувати фільми по країні Італія. то в список виведення не потрапить нічого, тому що на сайті немає жодного фільми із зазначенням країни Італія. Однак відвідувачеві може бути незрозумілим чому він бачить порожній список.
Для того щоб виправити ситуацію перейдемо до редагування уявлення і натиснемо Додати в розділі Поведінка при відсутності результатів.
Далі вибираємо в списку пункт Глобальний: Текстове поле і натискаємо Застосувати (все відображення).
Тепер в текстову область ми пишемо текст який буде відображатися тому випадку якщо в висновок не потрапив жоден фільм. Натискаємо Застосувати (все відображення).
Зберігаємо уявлення. Тепер замість порожнечі ми бачимо текст, який повідомляє користувачеві сайту, що за цими критеріями фільтрації результатів немає.
На цьому ми закінчимо цей урок.
Підведемо підсумки
У цьому курсі ми розглянули основні аспекти роботи з модулем Views (Уявлення) і самі часто використовувані техніки. Такі як: контекстні фільтри і зв'язку, агрегація, розкриті фільтри, критерії сортування і т.д.
Поділися з друзями:
З вашого опису я зрозумів що ви зовсім не розумієте як працює Commerce і Drupal в цілому. Почитайте для початку всі курси починаючи з розділу "Основи Drupal". Не варто летіти попереду паровоза, потрібно спочатку зрозуміти як це працює а потім щось робити.
Привіт, Денис. Чудові уроки.
Був би дуже радий дізнатися, як можна зробити, щоб замість фільтрації по країнам і сортування по оцінці стояли просто три кнопки, у яких функція і напис кожної наступні:
І у всіх порядок за замовчуванням по спадаючій (не налаштовувати відвідувачем).
Швидше за все, це дуже-дуже актуально.
Вітаю! Дякую за уроки, все зробив і все у мене працює. Але є деякі моменти. Отже, після сортування у мене виходить близько, припустимо, 20 фільмів. В налаштуваннях вьюс я поставив виводити 5 фільмів на сторінку. І мені потрібно, щоб була якась кнопочка "Ще" чи "Далі" при натисканні на яку виводилися б наступні 5 фільмів згідно з критерієм і сортування. Ну і також б з'являлася кнопочка "Назад", щоб перейти можна було б на перші 5 фільмів.
Спасибі, розібралися. В налаштуваннях вьюса є відображення в вигляді сторінок.
Вітаю! У мене проблема з фільтрами каталогу. Роблю розкриті фільтри по виробнику, властивостям товару і т.д. Мені потрібно що б при вибору, наприклад, виробника, інші фільтри коректували б свої пункти. Припустимо, вибираємо Адідас і в фільтрі "Кольори" залишилися б тільки ті кольори, які доступні для продукції Адідас. Чи можна це зробити стандартними фільтрами Views? Я спробував використовувати Facet API, все добре, але він не працює (?) З Views у яких є ще й контекстні фільтри. Можете порадити рішення? Спасибі.
Подивіться Views Dependent Filters і Better Exposed Filters. не впевнений що за допомогою цих модулів можна вирішити вашу проблему але спробуйте. У будь-якому випадку якщо не вийде зробити "з коробки" можна написати свій модуль.
Спасибі за корисний і зрозумілий урок! Виникло питання: стосовно приміром який розбирався на уроці, як зробити, що б при пошуку фільму, критерій "Італія" не був доступний користувачеві, поки в фільмотеці відсутня італійський фільм, але з'являвся після додавання і знову ставав недоступний після зникнення фільму (наприклад продано). Чи можливо це виконати засобами views, або потрібен додатковий модуль?
Привіт, чи можна ці списки, що випадають прибрати з поля "вміст" і помістити в блок з боку?
Використовую 8, як я зрозумів він не далеко відійшов від друпал 7.
І якщо можна створити створити блок з фільтрами, то можна щоб ці фільтри були в одному блоці з пошуком?
На рахунок пошуку: на скільки я зрозумів стандартний друпаловскій пошук там для декору, а які ви можете порадити справжні пошуки? (Гугл, elasticsearch, модулі якісь)
Знайшов як зробити:
Структура -> Уявлення -> Відображення -> РОЗШИРЕНІ -> Розкрита форма в блоці: Так
Структура -> Схема блоків -> Розташувати блок -> Розкрита форма: poisk-page_1 | Views | Розмістити блок
Тепер виникло таке питання: як мені виводити на сторінці не тільки анонси, але і дочірні подтерміни.
Наприклад: вибрав фільтр термін "рослини" - виводить подтерміни "овочі", "фрукти", "ягоди" і т.д, а нижче анонси сторінок.
і якщо можна, то щоб в дужках до подтерміну було число сторінок на цьому терміні.
Відгуки і пропозиції для Drupal learning