Регистрация
Вход через соцсети
Восстановление пароля

Как вывести URL страницы в компоненте? И как сделать такую ссылку: /?recNum=10&sort=sale ?

Новый топик
Страницы: 2  |  3  |  4  |  5  |  6
10.10.2013, 08:15
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

В каком виде вам надо получить список всех значений в поле Brand? Выпадающий список или обычный? Для какой цели он будет нужен?
Вы, конечно, можете вбивать названия брендов в текстовое поле в карточке товара, но я настоятельно не рекомендую делать так, потому что Вам придется тогда подключать еще аяксовые подсказки (чтобы при вводе бренда выводились подходящие варианты написания) и тут, боюсь, во-первых, у Вас мозг взорвется улыбка, во-вторых, выборка и поиск по текстовому полю Brand будет очень медленной, будет сильно грузить сервер.
Лучше, если вы все-таки сделаете в вашем компоненте поле типа "Список" и в этот список внесете все значения (в админке это Разработка -> Списки)
Выводить данный заранее набитый перечень брендов в виде выпадающего списка в форме добавления, изменения можно с помощью nc_list_field, а в формах поиска, макетах дизайна пользуйтесь функцией nc_list_select. Описание, как ею пользоваться, есть в руководстве разработчика.
Тот мой фрагмент кода, что вы привели, делает буквально следующее:
Если через адресную строку передано искомое значение и это значение не нулевое, то оно приводится принудительно к положительному целому числу (это защита против крутых хакеров с их любимыми SQL-инъекциями). Это делают функции abs и intval, вложенные одна в другую.
Затем, когда искомое значение уже гарантированно положительное и целое, мы в переменной $query_where формируем условие выборки (описание этой переменной смотрите в руководстве разработчика). Там в качестве примера я привел выборку всех объектов, у которых в поле "формат" указано искомое значение, переданное через адресную строку (srch2format).
Если же через адресную строку эта переменная не передана, то она устанавливается в нулевое значение.
Это понадобится, чтобы при формировании выпадающего списка в форме поиска или в макете дизайна по умолчанию был выбран вариант "Все" (или "-- выберите --", у кого как).

10.10.2013, 09:17
Ответить | Цитировать
Гость
Гость

Вы конечно шутник), но это все очень даже серьезно)
1) Нужно получить выпадающий список.
2) Для выбора бренда в каталоге с товарами.
Вы сказали, что не рекомендуется вбивать наименования в поле Brand, в карточке товара. Но как тогда определить бренд этого товара?)
Вот пример "www.lamoda.ru/clothes/zhenskaya-odezhda/" выборки, которую я хочу реализовать у себя на сайте.
Долго такое делать?)
10.10.2013, 09:54
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Ну вот, раз нужен выпадающий список брендов, то и используйте схему с созданием Списка. Создавайте в компоненте "Товар" поле Бренд, тип поля "Список", в формате укажите латинскими буквами название вашего списка брендов. И тогда при редактировании товаров в админке, будет показываться этот перечень брендов, который заранее набили в Список.
Поэтому в редакторе товаров Бренд надо будет не набивать, а выбирать мышкой.
Это что касается редактирования товаров.
А если говорить про форму поиска (выборки), то делайте nc_list_select, в котором укажите в параметрах название Списка, который нужно отобразить в виде выпадающего списка. Будет именно так, как на лямоде, только без галочек возле названий.
Разве Вы уже не сделали такие выпадающие списки в форме выборки(поиска)?
Когда вы сделаете в форме это поле, которому зададите например name='searchBrand', то в системных настройках компонента там где будете вставлять выборку товаров, в коде и указывайте название переменной $searchBrand (вместо $srch2format в моем примере).
Должно все получиться. улыбка

10.10.2013, 16:18
Ответить | Цитировать
Гость
Гость

"Должно все получиться" - это явно не про меня...) Ну или по крайней мере не с 1-ого раза)
НО, все же "что-то" у меня получилось:
1) Вывел список с брендами.
все...)
selected не хочет работать, выборка не производится потому, что я не могу понять, что нужно дописать в "Системные настройки".

Вывод списка:
Код:
<?=nc_list_select ("listBrand", "brand", $f_brand_id, "", 1, "<select name='f_\$field_name'>", "<option value='\$value_id' \$value_selected>\$value_name</option>", "</select>", "<option value=''>Выбрать бренд</option>")?>


Форма с поиском:
Код:
<form method='get' action='' id='searchForm'>
<input type='hidden' name='recNum' value='<?=$recNum?>' id='recNum'>
<input type='hidden' name='sort' value='<?=$sort?>' id='sort'>
<input type='hidden' name='brand value='<?=$sample?>' id='sample'>
<?=($search?"<input type='hidden' name='search' value='$search'>":NULL)?>
</form>


Добавил в "Системные настройки":
Код:
if($sample=='brand'){$query_where='brand DESC';}
(вроде как эта строчка должна делать выборку по бренду...)


И в догонку - еще у меня выводилось название бренда в корзине с помощью:
Код:
<?
$brand = $db->get_var("Select brand from Message2002 where name='".$f_name."'");
$array_brand = explode(':',$brand)
?>


Теперь brand - список. Как вывести наименование бренда в списке из базы, увы, не знаю)
13.10.2013, 08:40
Ответить | Цитировать
Гость
Гость

Руслан, куда же Вы пропали... Быть может, Вы даже заблудились в лесу и про это никто не знает... Но если это не так, я точно уверен в этом, то очень прошу Вас, возвращайтесь назад к нам)
14.10.2013, 15:59
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Здравствуйте! К счастью, не заблудился и не потерялся большая улыбка Но, к сожалению, очень занят сейчас - заказчики ждут тоже своих программ улыбка Поэтому не могу сейчас сосредоточиться и толком вникнуть в вашу задачку, да что-то по ней посоветовать. Хотя, уверен, дело простейшее. :-)
Попробуйте проанализировать, как должен работать рекомендованный мною код, чтобы понять принцип его действия. Тогда Вы сможете понять причину, почему что-то не работает. Хотя, по себе знаю, нелегко это - разбираться в полной неизвестности, когда опыт в какой-то области невелик.

15.10.2013, 18:26
Ответить | Цитировать
Гость
Гость

Дело наверняка проще не куда, да и наверное Вы не 1 раз её реализовывали)
Может быть, если вдруг, каким-то чудесным образом, у Вас появится пару минут свободного времени, то вот весь код, который я смог собрать для выполнения моей цели, но там явно чего-то не хватает: stylish-cherries.ru/test.txt
Раздел с реализуемой страничкой: stylish-cherries.ru/catalog/women/
А вот те задачи, которые передо мной стоят:
1) Форма с поиском по "Имени" и по "Бренду" (бренд у нас в качестве списка). Желательно, если можно будет вводить сразу "имя" вместе с "брендом", например: Платье Incity (и чтобы были подсказки под полем тех названий имени и бренда, которые существуют).
2) Выборка по бренду (из списка), по цене (мин., до макс.) и по обычному полю (допустим размер и т.п.)
3) Ну и последнее - это сортировка. Нужно добавить сортировку по алфавиту названий и брендов.
После всего, сделать эти 3 вещички: поиск, сортировка и выборка - взаимосвязанными улыбка
P.S. Вы можете сделать меня счастливым )))
Огромное Вам СПАСИБО за проделанный труд!)
198 196 2013-10-15 18:26:12 13315
Страницы: 2  |  3  |  4  |  5  |  6
Описание проекта