alinamolchanova Posted August 15, 2011 Report Share Posted August 15, 2011 Помогите пожалуйста разобраться с фильтром товаров:работает фильтр когда вывожу его в одну строчку:<!-- Фильтр по брендам /-->{if $brands}<div id="category_description"> {foreach name=brands item=b from=$brands} {if $b->brand_id == $brand->brand_id} {$b->name|escape} {else} <a href='catalog/{$category->url}/{$b->url}{$filter_params}'>{$b->name|escape}</a> {/if} {if not $smarty.foreach.brands.last} | {/if} {/foreach}</div>{/if}<!-- Фильтр по брендам #End /-->при нажатии на бренд все хорошо выводит.Нужно сделать чтоб выводилось в выпадающий список. Сделала так:<!-- Фильтр по брендам /--><div id="boxsortir">{if $brands}Фильтр по брендам: <select onchange="clicker(this)"> {foreach name=brands item=b from=$brands} {if $b->brand_id == $brand->brand_id} {$b->name|escape} {else} <option value="catalog/{$category->url}/{$b->url}{$filter_params}"> <a href='catalog/{$category->url}/{$b->url}{$filter_params}'>{$b->name|escape}</a> </option> {/if} {if not $smarty.foreach.brands.last} | {/if} {/foreach} </select></div>{/if}<!-- Фильтр по брендам #End /-->фильтр появляется в виде выпадающего списка, но при выборе бренда не происходит фильтрация.Может кто знает как исправить проблему? Quote Link to post Share on other sites
Kosjak76 Posted August 15, 2011 Report Share Posted August 15, 2011 Quote Link to post Share on other sites
alinamolchanova Posted August 15, 2011 Author Report Share Posted August 15, 2011 :::::Kosjak76Спасибо сделала. В шеге от решения. Вставила так:<!-- Фильтр по брендам /--><div id="boxsortir">{if $brands}Фильтр по брендам: <select onchange="document.location.href='brands/'+this.options[this.selectedIndex].value"> {foreach name=brands item=b from=$brands} {if $b->brand_id == $brand->brand_id} {$b->name|escape} {else} <option value="catalog/{$category->url}/{$b->url}{$filter_params}"> <a href='catalog/{$category->url}/{$b->url}{$filter_params}'>{$b->name|escape}</a> </option> {/if} {if not $smarty.foreach.brands.last} | {/if} {/foreach} </select></div>{/if}<!-- Фильтр по брендам #End /-->При выборе бренда выдает "Страница не найдена" Quote Link to post Share on other sites
alinamolchanova Posted August 15, 2011 Author Report Share Posted August 15, 2011 Спасибо все сделала:** выдавало ошибку в ссылке прописывалось brands/ Quote Link to post Share on other sites
alinamolchanova Posted August 17, 2011 Author Report Share Posted August 17, 2011 :::::Kosjak76всплыла еще одна проблема: фильтр работает НО! у нас скажем есть 5 вариантов брендов в фильтре, выбираем один из вариантов система фильтрует но в фильтре после фильтрации остается только один вариант бренда тот который мы выбрали, как сделать чтоб после фильтрации в выпадающем меню отображались все бренды? Quote Link to post Share on other sites
Kosjak76 Posted August 17, 2011 Report Share Posted August 17, 2011 {if $b->brand_id == $brand->brand_id}{$b->name|escape}{else} вот это убрать)))Можно эту проверку поставить внутрь опции, чтобы текущий бренд был выбранным Quote Link to post Share on other sites
alinamolchanova Posted August 18, 2011 Author Report Share Posted August 18, 2011 :::::Kosjak76"Можно эту проверку поставить внутрь опции, чтобы текущий бренд был выбранным"не напишите , как это сделать просо я немного не представляю, как это сделать?( И еще один вопрос сейчас у меня все работает но при выборе бренда 1 в списки после фильтрации стоит не этот брунд и визуально получается, как будто фильтрации не было. Если мы проверку поставим во внутрь опции это поможет? Quote Link to post Share on other sites
Kosjak76 Posted August 18, 2011 Report Share Posted August 18, 2011 В общем так, привожу рабочий код, правда не для фильтра, а для Брендов: {if $all_brands} Выберите бренд {foreach name=brands from=$all_brands item=b} brand_id == $brand->brand_id}selected{/if}>{$b->name|escape}{/foreach} {/if} Как это выглядит: http://simpla.pp.ua/Фильтр по тому же принципу... Quote Link to post Share on other sites
alinamolchanova Posted August 18, 2011 Author Report Share Posted August 18, 2011 :::::Kosjak76Dв миллионный раз спасибо все отлично выводит, но есть небольшое но, как сделать чтоб выводило не все бренды, а бренды данной категории (ранее было так: мужская одежда- бренд1, бренд2, бренд3. женская одежда-бренд 1, брнед 2, бренд 3, и выводило когда мы в мужской одежде выводило бренды 1-2-3 мужской обежды, сейчас выводит 1-2-3 из мужской одежды и 1-2-3 из женской). с подозреваю это из за "{if $all_brands}" попробовала написать так: "{if $brands}" и во здесь так: "{foreach name=brands from=$brands item=b}" выдает ошибку( Quote Link to post Share on other sites
Kosjak76 Posted August 18, 2011 Report Share Posted August 18, 2011 Не должно ошибку выводить, а что за ошибка? Quote Link to post Share on other sites
alinamolchanova Posted August 19, 2011 Author Report Share Posted August 19, 2011 :::::Kosjak76сделала так:{if $all_brands} <!-- Список брендов /--><select name="brand_cat" size="1" style="width: 90%; margin: auto;" onchange="document.location.href='brands/'+this.options[this.selectedIndex].value"> <option disabled>Выберите бренд</option> {foreach name=brands from=$all_brands item=b} <option value="{$b->url}" {if $b->brand_id == $brand->brand_id}selected{/if}>{$b->name|escape}</option>{/foreach}</select> <!-- Список брендов #End /--> {/if}Все отличнго сортирует, но! при выборе бренда переходит на страницу со споском товаров данного бренда но там поле выбора брендов почемуто исчезает(( Quote Link to post Share on other sites
Kosjak76 Posted August 19, 2011 Report Share Posted August 19, 2011 Интересно, почему?))) Это код Брендов, он выводит все товары бренда, и должен находится в индекс.тпл, если его в продуктс поставить, то так все и получится... Quote Link to post Share on other sites
alinamolchanova Posted August 19, 2011 Author Report Share Posted August 19, 2011 :::::Kosjak76Хмммм получается этот код мне нужно вставить в индекс а не в продуктс? Тогда в продуктс, что вставлять? Какую строчку дописать в диве где болжно быть выпадающее меню? Quote Link to post Share on other sites
alinamolchanova Posted August 23, 2011 Author Report Share Posted August 23, 2011 :::::Kosjak76Подскажите как сделать чтоб в шаблоне продуктс все работало? Quote Link to post Share on other sites
alinamolchanova Posted August 24, 2011 Author Report Share Posted August 24, 2011 ребята, ну помогите пожалуйста! Quote Link to post Share on other sites
mart Posted August 24, 2011 Report Share Posted August 24, 2011 В симпле 2 массива, которые работают с брендами:1. all_brands - все бренды - выводится в шаблоне index.tpl2. brands - бренды доступные в данной категории - выводится в шаблоне products.tplВот и смотрите что и куда Вам надо ставить. Quote Link to post Share on other sites
alinamolchanova Posted August 25, 2011 Author Report Share Posted August 25, 2011 так я пробовала вместо all_brands писать просто brand при переходе в категорию бренда исчезает поле выбора брандов( Quote Link to post Share on other sites
Antontyt Posted June 21, 2012 Report Share Posted June 21, 2012 помогите пожалуйста перевожу на 2.1 и кусок кода не работает<!-- Список брендов /--> <[div] id="cloud"> <[select] class="dsR13" name="selectName" size="1" onchange="window.location.href=this.options[this.selectedIndex].value" > <option value="">Выберите производителя</option> {assign var=min_size value=10} {assign var=max_size value=25} {assign var=max_count value=0} {assign var=min_count value=$all_brands.0->products_num} {foreach name=brands from=$all_brands item=b} {if $b->products_num >= $max_count}{assign var=max_count value=$b->products_num}{/if} {if $b->products_num <= $min_count}{assign var=min_count value=$b->products_num}{/if} {/foreach} {foreach name=brands from=$all_brands item=b} {assign var=coef value=$b->products_num/$max_count} {math assign=size equation="min_size+(max_size-min_size)*(count-min_count)/(max_count-min_count)" max_size=$max_size min_size=$min_size max_count=$max_count min_count=$min_count count=$b->products_num} <!-- <span class="item"><a style='font-size:{$size}px;' href='brands/{$b->url}'>{$b->name|escape}</a></span> --> <option value="brands/{$b->url}">{$b->name|escape}</option> {/foreach} </select><!-- Список брендов /-->Подскажите пожалуйста что изменилось в 2.1 и как поправить ? Заранее спасибо Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.