Всем привет! Не могу разобраться как вывести значения из поля field_thickness_value
Вот содержимое form. Вывожу его так {{ drupal_dump(form) }}
Пробовал выводить так:
{% for field_thickness_value in form%}
{{ form.field_thickness_value["#options"] }}
{% endfor %}
{{ form.field_thickness_value["#options"] }}
{% endfor %}
Не работает эта конструкция. Помогите разобраться, что я не так делаю?
Комментарии
А может вывести значения этого поля вьюхой и темизировать "селект" из того, что есть?
Проблема в том что у меня 2 селеста, один в блоке с классом class="form--inline form-inline clearfix", а другой вне этого блока. JS'ом я переключаю из одного селеста другой селест. Проблема в том что при обновлении фильтра значение второго фильтра сбрасывается..... Вот страничка с каталогом, не знаю как решить проблему
https://fabrika-plitky.ru/catalog/trotuarnaya-plitka
И это нужно все делать программным путем?
Может лучще через раскрытые фильтры во вьюхе или SearsAPI + RacetAPI?
Не знаю как лучше. У меня была сортировка готовая уже на сайте. Нужно было добавить фильтр по толщине. Сам фильтр добавил, при переключении состояния, значение сохраняется. А вот как только добавил в разметку
дублирующий селест и прописал JS - то при переключении значения состояние дублирующего селелста сбивается. Разметка сортировки:
<label for="sort_custom">Сортировать по:</label>
<div class="select-wrapper">
<select class="form-select form-control" name="sort-custom" id="sort-custom">
<option value="title" data-order="ASC">По наименованию (А->Я)</option>
<option value="title" data-order="DESC">По наименованию (Я->А)</option>
<option value="field_price_value" data-order="ASC">По цене (сперва дешевые)</option>
<option value="field_price_value" data-order="DESC">По цене (сперва дорогие)</option>
</select>
</div>
</div>
А вот вывод фильтра по толщине:
<div class="form--inline form-inline">
<label for="thickness-custom">Толщина:</label>
<div class="select-wrapper">
<select class="form-select form-control" name="thickness-custom" id="thickness-custom">
<option value="All">- Все -</option>
<option value="25">25 мм</option>
<option value="40">40 мм</option>
<option value="60">60 мм</option>
<option value="75">75 мм</option>
<option value="80">80 мм</option>
<option value="100">100 мм</option>
</select>
</div>
</div>
{% endif %}
JS который переключает селесты скрытые стилями:
let sort = $(this).val(),
order = $(this).find('option:selected').data('order');
$('select[name="sort_by"]').val(sort);
$('select[name="sort_order"]').val(order);
$('.view').addClass('loading');
$(this).parents('form').find('[type=submit]').click();
});
$('body').on('change', '#thickness-custom', function () {
let thickness = $(this).val();
$('select[name="field_thickness_value"]').val(thickness);
$('.view').addClass('loading');
$(this).parents('form').find('[type=submit]').click();
});
Понял что при изменении состояния селеста меняется и значение поля
<?php{{ form.field_thickness_value['#value'] }}?>
т.е. можно как то прикрутить вывод селеста и менять значение option selected="selected".