alinamolchanova Опубликовано 15 августа, 2011 Жалоба Поделиться Опубликовано 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 /-->фильтр появляется в виде выпадающего списка, но при выборе бренда не происходит фильтрация.Может кто знает как исправить проблему? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 15 августа, 2011 Жалоба Поделиться Опубликовано 15 августа, 2011 Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 15 августа, 2011 Автор Жалоба Поделиться Опубликовано 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 /-->При выборе бренда выдает "Страница не найдена" Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 15 августа, 2011 Автор Жалоба Поделиться Опубликовано 15 августа, 2011 Спасибо все сделала:** выдавало ошибку в ссылке прописывалось brands/ Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 17 августа, 2011 Автор Жалоба Поделиться Опубликовано 17 августа, 2011 :::::Kosjak76всплыла еще одна проблема: фильтр работает НО! у нас скажем есть 5 вариантов брендов в фильтре, выбираем один из вариантов система фильтрует но в фильтре после фильтрации остается только один вариант бренда тот который мы выбрали, как сделать чтоб после фильтрации в выпадающем меню отображались все бренды? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 17 августа, 2011 Жалоба Поделиться Опубликовано 17 августа, 2011 {if $b->brand_id == $brand->brand_id}{$b->name|escape}{else} вот это убрать)))Можно эту проверку поставить внутрь опции, чтобы текущий бренд был выбранным Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 18 августа, 2011 Автор Жалоба Поделиться Опубликовано 18 августа, 2011 :::::Kosjak76"Можно эту проверку поставить внутрь опции, чтобы текущий бренд был выбранным"не напишите , как это сделать просо я немного не представляю, как это сделать?( И еще один вопрос сейчас у меня все работает но при выборе бренда 1 в списки после фильтрации стоит не этот брунд и визуально получается, как будто фильтрации не было. Если мы проверку поставим во внутрь опции это поможет? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 18 августа, 2011 Жалоба Поделиться Опубликовано 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/Фильтр по тому же принципу... Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 18 августа, 2011 Автор Жалоба Поделиться Опубликовано 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}" выдает ошибку( Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 18 августа, 2011 Жалоба Поделиться Опубликовано 18 августа, 2011 Не должно ошибку выводить, а что за ошибка? Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 19 августа, 2011 Автор Жалоба Поделиться Опубликовано 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}Все отличнго сортирует, но! при выборе бренда переходит на страницу со споском товаров данного бренда но там поле выбора брендов почемуто исчезает(( Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 19 августа, 2011 Жалоба Поделиться Опубликовано 19 августа, 2011 Интересно, почему?))) Это код Брендов, он выводит все товары бренда, и должен находится в индекс.тпл, если его в продуктс поставить, то так все и получится... Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 19 августа, 2011 Автор Жалоба Поделиться Опубликовано 19 августа, 2011 :::::Kosjak76Хмммм получается этот код мне нужно вставить в индекс а не в продуктс? Тогда в продуктс, что вставлять? Какую строчку дописать в диве где болжно быть выпадающее меню? Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 23 августа, 2011 Автор Жалоба Поделиться Опубликовано 23 августа, 2011 :::::Kosjak76Подскажите как сделать чтоб в шаблоне продуктс все работало? Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 24 августа, 2011 Автор Жалоба Поделиться Опубликовано 24 августа, 2011 ребята, ну помогите пожалуйста! Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 24 августа, 2011 Жалоба Поделиться Опубликовано 24 августа, 2011 В симпле 2 массива, которые работают с брендами:1. all_brands - все бренды - выводится в шаблоне index.tpl2. brands - бренды доступные в данной категории - выводится в шаблоне products.tplВот и смотрите что и куда Вам надо ставить. Цитата Ссылка на сообщение Поделиться на другие сайты
alinamolchanova Опубликовано 25 августа, 2011 Автор Жалоба Поделиться Опубликовано 25 августа, 2011 так я пробовала вместо all_brands писать просто brand при переходе в категорию бренда исчезает поле выбора брандов( Цитата Ссылка на сообщение Поделиться на другие сайты
Antontyt Опубликовано 21 июня, 2012 Жалоба Поделиться Опубликовано 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 и как поправить ? Заранее спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.