Запомнить выбор в фильтре товаров

RedoxKit

Создатель
Регистрация
7 Окт 2008
Сообщения
26
Реакции
2
Здравствуйте!
Пытаюсь сделать, а точнее уже сделал поиск полям товаров.
Два параметра поваров являются выпадающими списками, а три - целыми числами.
При выборе в форме поиска необходимых значений и нажатии кнопки "найти" выводятся соответствующие товары, но в форме поиска введённые значения сбрасываются.
Пробовал так:
<select name='srchPat[9]' size='1'>
<option value=''<?=($srchPat[9]=='' ?" selected='selected'":"");?>>- Все коллекции -</option>
<option value='1'<?=($srchPat[9]==1 ?" selected='selected'":"");?>>Коллекция 1</option>
<option value='2'<?=($srchPat[9]==2 ?" selected='selected'":"");?>>Коллекция 2</option>
<option value='3'<?=($srchPat[9]==3 ?" selected='selected'":"");?>>Коллекция 3</option>
<option value='4'<?=($srchPat[9]==4 ?" selected='selected'":"");?>>Коллекция 4</option>
</select>
</div>
<div class="parametryAgCollection">
<div>Цвет:</div>
<select name='srchPat[10]' size='1'>
<option value=''>---- Все цвета ----</option>
<option value='1'<?=($srchPat[10]==1 ?" selected='selected'":"");?>>Цвет 1 </option>
<option value='2' <?=($srchPat[10]==2 ?" selected='selected'":"");?>>Цвет 2</option>
<option value='3'<?=($srchPat[10]==2 ?" selected='selected'":"");?>>Цвет 3</option>
<option value='4'<?=($srchPat[10]==4 ?" selected='selected'":"");?>>Цвет 4</option>
<option value='5'<?=($srchPat[10]==5 ?" selected='selected'":"");?>>Цвет 5</option>
<option value='6'<?=($srchPat[10]==6 ?" selected='selected'":"");?>>Цвет 7</option>
<option value='7'<?=($srchPat[10]==7 ?" selected='selected'":"");?>>Цвет 8</option>
<option value='8'<?=($srchPat[10]==8 ?" selected='selected'":"");?>>Цвет 9</option>
</select>
</div>
<div class="parametryAgCollectionq qtqqtq">
<div>Длина</div>
<input type='text' name='srchPat[5]' size='10' maxlength='16' value='<?=($srchPat[5]?$srchPat[5]:"");?>' placeholder="от">
<div class="qeqsq"> - </div>
<input type='text' name='srchPat[6]' size='10' maxlength='16' value='<?=($srchPat[6]?$srchPat[6]:"");?>' placeholder="до">
</div>
<div class="parametryAgCollectionq">
<div>Высота</div>
<input type='text' name='srchPat[1]' size='10' maxlength='16' value='<?=($srchPat[1]?$srchPat[1]:"");?>' placeholder="от">
<div class="qeqsq"> - </div>
<input type='text' name='srchPat[2]' size='10' maxlength='16' value='<?=($srchPat[2]?$srchPat[2]:"");?>' placeholder="до">
</div>
<div class="parametryAgCollectionq">
<div>Толщина</div>
<input type='text' name='srchPat[3]' size='10' maxlength='16' value='<?=($srchPat[3]?$srchPat[3]:"");?>' placeholder="от">
<div class="qeqsq"> - </div>
<input type='text' name='srchPat[4]' size='10' maxlength='16' value='<?=($srchPat[4]?$srchPat[4]:"");?>' placeholder="до">
</div>
<div class="parametryAgCollectionqArtycul">
<div>Артикул</div>
<input type='text' name='srchPat[0]' size='50' maxlength='255' value='<?=($srchPat[0]?$srchPat[0]:"");?>' placeholder="045">
</div>
Не получается.
Проверял... почему то все параметры srchPat[ХХХ]' пустые, хотя выборка работает и в адресной строке им присвоены значения.
Подскажите, пожалуйста.
Спасибо!
 

alterfall

Создатель
Регистрация
15 Апр 2012
Сообщения
37
Реакции
7
У вас возвращаются GET параметры вот их и используйте $_GET[srchPat][1]
Для использования в виде переменных включите деретиву Для просмотра ссылки Войди или Зарегистрируйся
 

RedoxKit

Создатель
Регистрация
7 Окт 2008
Сообщения
26
Реакции
2
Спасибо.
А можно немного по подробней?
включить register_globals это наверное через .htaccess? Но вроде он должен быть выключен для правильной работы netcat?
И можно пример как использовать $_GET[srchPat][1] в форме поиска.
Спасибо!
А ещё не подскажите, как без функционала минимагазин/магазина, можно получают информацию о том, на какой страницы заполнили и отправили форму обратной связи?
Есть список услуг, на странице подробного описания каждой услуги нужна форма для заказа этой услуги.
Хотелось бы сделать так, чтобы все заказы на услуги отображались в отдельном разделе одним списком.
Т.е. надо как то связать название услуги на странице отображения объекта одного компонента (услуги), с компонентом "заказы", чтобы в каждом заказе было понятно на какую услугу он сделан.
... а вот как это сделать... не знаю , опыта не хватает.
 

alterfall

Создатель
Регистрация
15 Апр 2012
Сообщения
37
Реакции
7
register_globals на хостинге или в php.ini

<input type='text' name='srchPat[0]' size='50' maxlength='255' value='<?=($_GET[srchPat][1] ? $_GET[srchPat][1] : null);?>' placeholder="045">

Для просмотра ссылки Войди или Зарегистрируйся
Присылайте себе в письме ссылку на объект или прикрепляйте к письму $fullLink (только если форма составлена в полном отображении тогда сможете передать)
В админке вы так же можете отображать название инфоблока или раздела из которого была выслано письмо.
Более подробно на форуме тяжело решать такой вопрос.
 

RedoxKit

Создатель
Регистрация
7 Окт 2008
Сообщения
26
Реакции
2
Спасибо!
Кажется прикрепить к письму $fullLink не получится.
Делаю так:
В компоненте "услуги", в полном отображение объекта там где надо вывожу, с использованием nc_objects_list, доп. шаблон компонента "Заказы", в котором в префиксе стоит $addForm, а в альтернативной форме добавления собственно и есть вся форма заказа, а в действии после добавления - код отправки сообщения о заказе на почту администратору.
Так вот, как в письме администратору сообщить на какую услугу поступил заказ?
с nc_object_path не понятно, как, в компоненте заказа получить идентификаторы компонента (Компонент "услуги") и объекта (конкретная услуга) той услуги, на странице которой находимся?
 

RedoxKit

Создатель
Регистрация
7 Окт 2008
Сообщения
26
Реакции
2
register_globals на хостинге или в php.ini

<input type='text' name='srchPat[0]' size='50' maxlength='255' value='<?=($_GET[srchPat][1] ? $_GET[srchPat][1] : null);?>' placeholder="045">

...
Спасибо большое всё работает.
Кроме листинга.
Нашлось 40 объектов соответствующих условиям поиска. При выводе по 10 объектов на странице получился листинг из 4 страниц.
При переходе ко 2-ой (3-ей и 4-ой), выборка уже не работает, т.е. показываются все объекты, а не отфильтрованные.
Переход по ссылке $nextLink (следующая страница) вообще не срабатывает.
URL страницы с результатами фильтрации:.../catalog/tovar/tovar.html?action=index&admin_mode=&srchPat[16]=&srchPat[17]=&srchPat[2]=&srchPat[3]=&srchPat[4]=&srchPat[5]=120&srchPat[0]=&#=Выбрать
Ссылка на вторую страницу имеет вид .../catalog/tovari/?action=index&admin_mode=&#=Выбрать&curPos=10
Ссылка на следующую страницу ($nextLink) : .../catalog/tovar/?action=index&admin_mode=&srchPat[16]=&srchPat[17]=&srchPat[2]=&srchPat[3]=&srchPat[4]=&srchPat[5]=120&srchPat[0]=&#=Выбрать&curPos=10
С этим можно что то сделать? И если да, то как?
 

alterfall

Создатель
Регистрация
15 Апр 2012
Сообщения
37
Реакции
7
Передовайте параметры в ссылках страниц или записывайте в сессию. Сейчас у вас параметры передаются да вот только пустые
 

RedoxKit

Создатель
Регистрация
7 Окт 2008
Сообщения
26
Реакции
2
Как передавать параметры в ссылках страниц если листинг страниц выполняется функцией <?= browse_messages($cc_env, 10) ?> и ссылками prevLink и nextLink?
Странно что не работает, т.к. делаю также как в демо-сайте, в котором всё работает.
И можно немного по подробнее про "записывайте в сессию.." Это как? Я в php не силён.
Спасибо!
 
Сверху