mFilter - TV выпадающим списком.
Доброго времени суток!
Иногда, когда вариантов параметра очень много, стандартные чекбоксы mFilter не удобны. Обычный выпадающий список был бы намного удобней.
Очень интересует вопрос — как привести фильтр к виду выпадающих списков?
Заранее благадарен.
Иногда, когда вариантов параметра очень много, стандартные чекбоксы mFilter не удобны. Обычный выпадающий список был бы намного удобней.
Очень интересует вопрос — как привести фильтр к виду выпадающих списков?
Заранее благадарен.
Комментарии: 15
Такого не предусмотрено, но ты можешь попробовать поменять чанк для чекбоксов. В ckeckbox outer пропиши тег select, а в checkbox row — тег option.
Вот только есть проблема — в моей версии нет чанка 'ckeckbox outer' — есть только row.
Мне к сожалению сложно понять где искать 'ckeckbox outer'
Василий, не могли бы вы более конкретнее указать на нужные чанки.
Мне к сожалению сложно понять где искать 'ckeckbox outer'
Василий, не могли бы вы более конкретнее указать на нужные чанки.
tpl.mFilter.param.outer.
Еще можно этого не всего не делать, а просто указать в css, чтобы блоки в большим количеством чекбоксов прокручивались. У каждого блока есть id, который зависит от имени параметра. Посмотри какой html генерируется — поймешь.
Типа такого:
Еще можно этого не всего не делать, а просто указать в css, чтобы блоки в большим количеством чекбоксов прокручивались. У каждого блока есть id, который зависит от имени параметра. Посмотри какой html генерируется — поймешь.
Типа такого:
#mfilter_ms_add1 {
height: 250px;
overflow: auto;
}
Спасибо, попробую.
можно этого не всего не делать, а просто указать в css, чтобы блоки в большим количеством чекбоксов прокручивались.Так дело в эстетике еще :) Зачем столько места занимать в принципе, тем более когда вариант выбора только 1н. Не всегда же множественный выбор. Получается не совсем корректно..)
Василий, если изменять чанк tpl.mFilter.param.outer, то меняется и шаблон слайдера. А это очень не хорошо :(
Поэтому я и написал в первом комментарии, что «Такого не предусмотрено».
Т.е. вариантов никаких?
Спасибо, попробую)
Было бы круто включить такую возможность в новые версии. Думаю, это не такой уж частный случай :)
Было бы круто включить такую возможность в новые версии. Думаю, это не такой уж частный случай :)
github.com/vasia123/mSearch — вот тут у меня лежит версия в которой я сделал &tplParamCheckboxOuter и теперь если переопределить его и &tplParamCheckbox то можно получить выпадающий список, но минус в том что нельзя одни поля сделать селектами, а другие чекбоксами, т.е. либо то либо другое.
пример mFilter.param.select.outer:
пример mFilter.param.select.outer:
<select name="[[+paramname]][]" >
<option value="">-- Все --</option>
[[+inner]]
</select>
пример mFilter.param.select:<option value="[[+value]]">[[+value]]</option>
Большое спасибо, попробую!
Подскажите пожалуйста по пунктам, как правильно все это переделать?
Попробовал заменить все файлы с Github
Тут: assets / components / msearch /
Тут: core / components / msearch /
Добавил чанки:
mFilter.param.checkbox.outer
mFilter.param.number.outer
mFilter.param.select.outer
mFilter.param.select
И заменил код в снипетах с Github:
mFilter
mSearch
Обновил кэш.
В итоге ничего не находит через поиск вообще. Пишет «Ничего не найдено».
Индексировать после всех изменений пробовал…
Как же переделать эти чекбоксы в селекты ???
Попробовал заменить все файлы с Github
Тут: assets / components / msearch /
Тут: core / components / msearch /
Добавил чанки:
mFilter.param.checkbox.outer
mFilter.param.number.outer
mFilter.param.select.outer
mFilter.param.select
И заменил код в снипетах с Github:
mFilter
mSearch
Обновил кэш.
В итоге ничего не находит через поиск вообще. Пишет «Ничего не найдено».
Индексировать после всех изменений пробовал…
Как же переделать эти чекбоксы в селекты ???
Смысл не в замене вообще всех файлов, а вот в этих изменениях — github.com/bezumkin/mSearch/pull/9/files за давностью уже не вспомню подробностей, но если выводятся селекты правильно, то нужно копать javascript
Ок, попробую заменить только строки. Красные строчки заменяю зелеными, значит?
Возможно глупый вопрос, но эта ведь папка _build для установки из репозитория? То есть ее отредактировать сейчас не получится, потому что ее нету:
_build/data/transport.chunks.php
_build/properties/properties.php
Где редактировать эти файлы?
Было бы здорово, если бы чуточку подробнее объяснили, как все правильно сделать ?
Например:
1. Идем сюда assets/components/msearch/js/mfilter.js меняем на код из Github
2. Идем сюда core/components/msearch/elements/chunks/mFilter.param.checkbox.outer.tpl меняем на код из Github
3. Идем сюда core/components/msearch/elements/chunks/mFilter.param.number.outer.tpl меняем код из Github
4. Идем сюда core/components/msearch/elements/snippets/snippet.mfilter.php меняем код из Github
5. Идем сюда core/components/msearch/lexicon/en/properties.inc.php меняем код из Github
6. Идем сюда core/components/msearch/lexicon/ru/properties.inc.php меняем код из Github
7. Идем в админку сайта и добавляем 4 чанка:
tpl.mFilter.param.checkbox.outer
Содержания:
tpl.mFilter.param.number.outer
Содержания:
tpl.mFilter.param.select
Содержания:
tpl.mFilter.param.select.outer
Содержания:
8. Чанк mFilter
Содержание:
Помогите разобраться пожалуйста.
_build/data/transport.chunks.php
_build/properties/properties.php
Где редактировать эти файлы?
Было бы здорово, если бы чуточку подробнее объяснили, как все правильно сделать ?
Например:
1. Идем сюда assets/components/msearch/js/mfilter.js меняем на код из Github
2. Идем сюда core/components/msearch/elements/chunks/mFilter.param.checkbox.outer.tpl меняем на код из Github
3. Идем сюда core/components/msearch/elements/chunks/mFilter.param.number.outer.tpl меняем код из Github
4. Идем сюда core/components/msearch/elements/snippets/snippet.mfilter.php меняем код из Github
5. Идем сюда core/components/msearch/lexicon/en/properties.inc.php меняем код из Github
6. Идем сюда core/components/msearch/lexicon/ru/properties.inc.php меняем код из Github
7. Идем в админку сайта и добавляем 4 чанка:
tpl.mFilter.param.checkbox.outer
Содержания:
[[+inner]]
tpl.mFilter.param.number.outer
Содержания:
[[+inner]]
tpl.mFilter.param.select
Содержания:
<option value="[[+value]]">[[+value]]</option>
tpl.mFilter.param.select.outer
Содержания:
<select name="[[+paramname]][]" >
<option value="">-- Все --</option>
[[+inner]]
</select>
8. Чанк mFilter
Содержание:
<div class="row">
<div class="span3">
<div class="filter">
<form action="[[~[[*id]]]]" method="post" id="mFilter">
[[!mFilter?
&resources=`[[!getCatIds?parents=`2`]]`
&includeTVs=`0`
&includeMS=`1`
&includeMSList=`vendor:extra_filter_vendor,price,new,favorite,popular,size,color`
&sortFilters=`ms_vendor,ms_price,ms_new,ms_favorite,ms_popular,ms_size,ms_color`
&tpl=`tpl.msProducts.row`
&pageNavScheme=`abs`
]]
<input type="hidden" name="query" value="[[+mse.query]]">
<input type="hidden" name="page" value="1">
<input type="hidden" name="sort" value="ms_price,asc">
<input type="hidden" name="limit" value="3">
<input type="hidden" name="parents" value="[[+parents]]">
<input type="hidden" name="action" value="filter" />
</form>
</div><!-- end_filter -->
</div>
<div class="span9" id="mItems"></div>
</div>
<link href="/manager/templates/firstgm/css/jquery-ui.min.css" rel="stylesheet" />
<script src="http://yandex.st/jquery-ui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="/assets/components/msearch/js/mfilter.js" type="text/javascript"></script>
Поиск и фильтр работают, но чекбоксы остались чекбоксами. Что еще нужно сделать?Помогите разобраться пожалуйста.
Проблема тоже стала актуальной((
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.