nommo Опубликовано 14 апреля, 2013 Жалоба Поделиться Опубликовано 14 апреля, 2013 Кто может подсказать, как заставить "поиск" искать только в категории в которой находится покупатель? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 14 апреля, 2013 Жалоба Поделиться Опубликовано 14 апреля, 2013 Добавить в форму поиска скрытый инпут с айди категории Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 14 апреля, 2013 Жалоба Поделиться Опубликовано 14 апреля, 2013 <form action="products"> <input class="input_search" type="text" name="keyword" value="{$keyword|escape}" placeholder="Поиск товара"/> {if $category->url}<input type="hidden" name="category" value="{$category->url}">{/if} <input class="button_search" value="" type="submit" /> </form> {if $category->url}<input type="hidden" name="category" value="{$category->url}">{/if} ?Поиск также будет работать и в товаре по категории которой он принадлежит Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 14 апреля, 2013 Жалоба Поделиться Опубликовано 14 апреля, 2013 У меня тоже вопрос, а можно заставить смарти понимать чек бокс, на пример если активен выполняется условие, если нет то нет. Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 14 апреля, 2013 Жалоба Поделиться Опубликовано 14 апреля, 2013 чет вопрос мыльный, более конкретнее сформируйте, может что то подскажу Цитата Ссылка на сообщение Поделиться на другие сайты
nommo Опубликовано 15 апреля, 2013 Автор Жалоба Поделиться Опубликовано 15 апреля, 2013 Спасибо, Osben и Kosjak76! Все работает. Есть еще вопрос. Как правильно отключить "умный поиск" (выпадающий список с подбором слов и картинками)? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 15 апреля, 2013 Жалоба Поделиться Опубликовано 15 апреля, 2013 Проще всего поменять класс у инпута Если правильно - нужно удалить из шапки шаблона функцию автозаполнения и подключение скрипта: {* Автозаполнитель поиска *} {literal} <script src="js/autocomplete/jquery.autocomplete-min.js" type="text/javascript"></script> <style> .autocomplete-w1 { position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; } .autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; overflow-x:auto; overflow-y: auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; } .autocomplete .selected { background:#F0F0F0; } .autocomplete div { padding:2px 5px; white-space:nowrap; } .autocomplete strong { font-weight:normal; color:#3399FF; } </style> <script> $(function() { // Автозаполнитель поиска $(".input_search").autocomplete({ serviceUrl:'ajax/search_products.php', minChars:1, noCache: false, onSelect: function(value, data){ $(".input_search").closest('form').submit(); }, fnFormatResult: function(value, data, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } }); }); </script> {/literal} Цитата Ссылка на сообщение Поделиться на другие сайты
nommo Опубликовано 15 апреля, 2013 Автор Жалоба Поделиться Опубликовано 15 апреля, 2013 Проще всего поменять класс у инпута Если правильно - нужно удалить из шапки шаблона функцию автозаполнения и подключение скрипта: {* Автозаполнитель поиска *} {literal} <script src="js/autocomplete/jquery.autocomplete-min.js" type="text/javascript"></script> <style> .autocomplete-w1 { position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; } .autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; overflow-x:auto; overflow-y: auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; } .autocomplete .selected { background:#F0F0F0; } .autocomplete div { padding:2px 5px; white-space:nowrap; } .autocomplete strong { font-weight:normal; color:#3399FF; } </style> <script> $(function() { // Автозаполнитель поиска $(".input_search").autocomplete({ serviceUrl:'ajax/search_products.php', minChars:1, noCache: false, onSelect: function(value, data){ $(".input_search").closest('form').submit(); }, fnFormatResult: function(value, data, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } }); }); </script> {/literal} Спасибо! Так и делал. Теперь есть подтверждение, что делал правильно. Цитата Ссылка на сообщение Поделиться на другие сайты
Json Опубликовано 13 июля, 2015 Жалоба Поделиться Опубликовано 13 июля, 2015 Если кому то пригодиться пооиск в выбранной категории, если есть лучший вариант жду замечаний <select name="category" class="selectpicker"> <option value="">Select Categories</option> {function name=categories_tree_search} {foreach $categories as $c} <option value="{$c->url}">{$c->name}</option> {categories_tree_search categories=$c->subcategories} {/foreach} {/function} {categories_tree_search} categories=$categories} </select> вставляем в форму поиска Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.