Фильтр select_option создает HTML-элемент <option> для использования внутри тега <select>. Он автоматически устанавливает атрибут selected, если переданное значение совпадает с выбранным значением.
▎Параметры
- value: Значение опции (будет использовано в атрибуте value).
- selected: Текущее выбранное значение.
- name: Отображаемое имя опции (текст внутри тега <option>).
▎Возвращаемое значение
Возвращает строку, представляющую HTML-элемент <option>.
1. Базовое использование:
{% assign current_value = "2" %}
{{ "1" | select_option: current_value, "Опция 1" }}
{{ "2" | select_option: current_value, "Опция 2" }}
{{ "3" | select_option: current_value, "Опция 3" }}
Результат:
<option value='1'>Опция 1</option>
<option selected value='2'>Опция 2</option>
<option value='3'>Опция 3</option>
Пример для селекта с выбором количества товаров на странице
<form action="{{collection.url}}" method="get">
<select name="page_size">
{{ "24" | select_option: page_size, "24 товара" }}
{{ "48" | select_option: page_size, "48 товара" }}
{{ "72" | select_option: page_size, "72 товара" }}
</select>
</form>