Перейти к содержимому


Фото
- - - - -

Не показывать описание категории при выборе сортировки


  • Чтобы отвечать, сперва войдите на форум
14 ответов в теме

#1 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 07:38

Всем привет.

Прошу помощи...

 

Есть код который отвечает за сортировки по свойствам товара:

 

{if $properties}
 {foreach name=properties item=property from=$properties}
 {assign var=property_id value=$property->property_id}
 <form>
 <select id="select_new1" class="brand_menu" name="_prop" onchange="document.location=this.value"> 
   <option value="/catalog/{$category->url}{$property->clear_url}">{if $property->name==777}Цвет{else}{$property->name}{/if}</option> 
 {if $smarty.get.$property_id}  
 <option value="/catalog/{$category->url}{$property->clear_url}">Показать все</option> 
 {/if}  
 {foreach name=options from=$property->options item=option}
 {if $smarty.get.$property_id == $option->value}
   <option selected="selected" value="/catalog/{$category->url}{if $brand}/brand={$brand->url}{/if}{if $size}/size=$size->url}{/if}/{$option->url}">{$option->value}</option>  
 {else}
<option value="{if $brand}/catalog/{$category->url}{else}/catalog/{$category->url}{/if}{if $brand}/brand={$brand->url}{/if}{if $size}/size={$size->url}{/if}/{$option->url}">{$option->value}</option> 
 {/if}    
 {/foreach}
 </select> </form>     
   <td>
    
 {/foreach} 
  {/if}{/if} 

 

 

 

А вот код который выводит описание категории

 

{if $size or $brand or $smarty.request.order or $smarty.get.$property_id}
 {else}
  <br/> <br/> 
<div id="category_description">
  <section id="wow">
<article> 
{$category->description}
</article></section> 
</div>
{/if} 

 

Необходимо сделать так чтобы при выборе сортировки по свойству товара не показывалось описание категории. 

 

У меня 2 select  с сортировками по свойствам, при выборе второго срабатывает smarty.get.$property_id - и описание не показывается, но почему то на первый select это не действует...

 

 



#2 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 09:33

У меня 2 select  с сортировками по свойствам

В коде у вас только один селект. Где код второго?

 

$size or $brand or $smarty.request.order or $smarty.get.$property_id

А Вы уверены, что срабатывает условие именно  $smarty.get.$property_id?

Что вообще выводит $smarty.get.$property_id при выборе первого и второго селекта?


Изменено: koteyka, 17.07.2017 - 09:35


#3 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 09:34

там в итоге этим кодом 2 selecta выводится с помощью этого {foreach name=properties item=property from=$properties}



#4 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 09:41

Более подробно распишу - у меня есть 2 сортировки - по диапазону цен и по цвету. Сейчас при условии {if $smarty.get.$property_id} не выводится описание категории при использовании сортировки по диапазону цен, но выводится в сортировках по цвету. 

Если в админке в разделе свойства товара поменять свойства местами и сделать чтобы первым выводился селект с цветами, то описание исчезает в цветах, но появляется в другой сортировке..

 

А как сделать чтобы в обоих сортировках не было описания?


Изменено: esistema1, 17.07.2017 - 09:45


#5 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 09:49

Замените во втором одном селекте var=property_id на var=property_id_2, например, и соответственно условие
$size or $brand or $smarty.request.order or $smarty.get.$property_id or $smarty.get.$property_id_2

Или у Вас в одном форече два селекта выводится?


Изменено: koteyka, 17.07.2017 - 09:53


#6 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 09:51

а как его заменить если он выводится через foreach т.е. в шаблоне у меня  же один селект?



#7 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 10:32

т.е. в шаблоне у меня  же один селект

 

там в итоге этим кодом 2 selecta выводится

Тогда я вообще ничего не пойму.

Вы же пишете, что два селекта, а потом пишете, что один.
Или Вы опции с селектом путаете? Два селекта или две опции в селекте?



#8 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 10:48

самый первый код в моем первом сообщении - это код из шаблона products.tpl - в нем один селект, в html этот код выводит 2 селекта.



#9 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 10:57

Всё. Понял. Два цикла в форече получается. Туплю с утра.



У вас получаются два селекта с одинаковыми id и name, ЧТО НЕ ДОПУСТИМО.

Добавьте к ним, например, $property_id. Чтобы получалось типа,  name="{$property_id}_prop"


Изменено: koteyka, 17.07.2017 - 11:00


#10 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 11:09

id в select name добавил - name стал разным, но на вывод описания категории это не повлияло..


Изменено: esistema1, 17.07.2017 - 11:11


#11 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 11:13

name стал разным

А id тоже разными стали?

id сменили, так же, как и нейм?


Изменено: koteyka, 17.07.2017 - 11:14


#12 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 11:18

да менял, тоже не помогает



#13 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 12:08

Можете в личку к админке доступ дать?


Изменено: koteyka, 17.07.2017 - 12:09


#14 esistema1

esistema1
  • Пользователь
  • 40 сообщений

Опубликовано 17.07.2017 - 13:20

нет доступ дать не могу - магазин действующий



#15 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 305 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 17.07.2017 - 13:33

Да и что? :)

Ну, так я не пойму.

Не понятно, зачем у Вас каждый селект в своей форме сделан.

Не понятно, от куда в коде, что вы привели, лишний {/if}

Не понятно, что именно у вас передается в $properties

и.т.д.

И вообще, зачем там так всё сложно? Можно скриптом JS скрывать блок с описанием и всех делов.


Изменено: koteyka, 17.07.2017 - 13:36





0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых