спасибо за ответ
Собственно Facet.html http://pastebin.com/2Mzwuk3i
Как бы да там через Get, и далее AJAX http://pastebin.com/6GjrKvmb
initFacetWidgets: function() {
// Bind events to facet checkboxes
$('.facet_checkbox').on('change', function() {
window.location.href = $(this).next('.facet_url').val();
});
}
Но я не очень понимаю этот скрипт служит для перебора url(своего рода цикл), но ведь что то другое заставляет визуально менять местами - не так ли ?
Есть еще просто 1 момент интересный - там есть выпадающий список, на скринщоте виден, он каким то боком берется из класса SearchForm
http://pastebin.com/ASAhaVpR ,
В шаблоне выглядит так
<form method="get" class="form-horizontal">
{% include "partials/form_field.html" with field=form.sort_by %}
</form>
sort_by это он и есть
причем прямых указаний, чтобы он брался из SearchForm, в SearcHandler - http://pastebin.com/jWgbeWif нету(видно что то еще обрабатывает) но в итоге, если я запихну
сеим образом
<form method="get" class="form-horizontal">
{% include "partials/form_field.html" with field=form.selected_facets%}
</form>
и в ручную выставлю список в том самом классе
SORT_BY_CHOICES = [
("product_class_exact:Classic", _("Relevancy")),
("product_class_exact:Common", _("Customer rating")),
]
selected_facets = forms.ChoiceField(
label=_("Sort by"), choices=SORT_BY_CHOICES,
widget=forms.Select(), required=False)
То при выборе из списка и срабатывании евента JS, в заголовочную строку будет попадать
?selected_facets=product_class_exact:Common.
И тем самым на страничке будут отображаться только предметы выбранного класса(Common) и список будет оставаться не тронутым, т.е будет сохранять выбранный элемент(после перезагрузки странички).
Я бы конечно и сделал описание внутри класса SearchForm , но я не знаю как передать туда selected_multi_facets, т.е результаты поиска в haystack, которые как раз формируются внутри facets http://pastebin.com/r2ZEY01h , и передаются для страниц через http://pastebin.com/jWgbeWif где их можно задавать внутри
context = {
'facet_datas2': facet_data,
и это именно то что у меня в шаблоне
{% for field, data in facet_datas2.items %}
{% if data.results %}
{% include 'search/partials/facet.html' with name=data.name items=data.results %}
{% endif %}
{% endfor %}
Правильно ли я вообще делаю что пытаюсь отключить ui.js который дергает эти строки, или можно всетаки закинуть результаты сортировки от Solr(haystack) прямо в SearchForm, чтобы потом уже их закинуть в список choiceField ?
Updated 25 April 2016, 21:10 by LighFusion.