Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

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

Страницы: 2  |  3  |  4  |  5  |  6
02.10.2013, 20:55
Гость
Гость

Благодарю! Жду с нетерпением!)
03.10.2013, 16:30
Гость
Гость

Не могли бы Вы подсказать, как осуществить поиск по объекту (товару) с любого места сайта, без доп. раздела "Поиск"? И желательно, чтобы в поле "Поиск" можно было вводить запрос сразу из нескольких полей.
03.10.2013, 17:01
Руслан Густокашин
Студия Вэлпис

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

Это несложно. для этого сделайте в нужном месте сайта форму:
Код:

<form action='' method='get'>
<input name='subject' type='text' />
<input type='submit' value='OK' />
</form>


А в системных настройках компонента уже делайте выборку:
Код:
if( $subject ) {
$query_where='1';
// $ignore_cc=$ignore_sub=1; // раскомментируйте, если надо искать во всех разделах
$subject=ereg_replace(' +',' ',$subject); // убираем лишние пробелы
$srch_patr=explode(" ", $subject); // разделяем на слова
$srch_patr = array_unique($srch_patr); // убираем дубликаты слов
foreach ($srch_patr as $key)
{
$query_where .= " AND (a.Name LIKE '%$key%' OR a.NameAlt LIKE '%$key%' OR a.Artikul LIKE '%$key%' OR a.Description LIKE '%$key%' OR a.Details LIKE '%$key%')";
};
}

Вот таким макаром. улыбка
04.10.2013, 08:27
Гость
Гость

Работает, но не везде) Если сделать такую форму:
Код:
<form action='/catalog/girl/' method='get'>
<input name='subject' type='text' />
<input type='submit' value='OK' />
</form>

то поиск будет работать лишь в /catalog/girl/.
Следует вопрос: как сделать так, чтобы поиск работал по всех вложенных разделах "catalog" и в нем включительно?)
Сразу еще один вопросик напишу по сортировке, если не против конечно)
Вот так у меня выглядит сортировка товаров: stylish-cherries.ru/sortir.png
Системные настройки:
Код:
<?
if(isset($_GET['sort']) || isset($_GET['recNum']) ) {
$sort=$_GET['sort']; $_SESSION['searchparam']['sort'] = $sort;
$recNum=$_GET['recNum']; $_SESSION['searchparam']['recNum'] = $recNum;
} else {
$sort=isset($_SESSION['searchparam']['sort']) ? $_SESSION['searchparam']['sort'] : "novelty";
$recNum=abs(intval(isset($_SESSION['searchparam']['recNum']) ? $_SESSION['searchparam']['recNum'] : 5));
}
if($sort=='priceup'){$query_order='price ASC';}
if($sort=='pricedown'){$query_order='price DESC';}
if($sort=='novelty'){$query_order='novelty DESC';}
if($sort=='sale'){$query_order='sale DESC';}
?>

Скрипт jquery:
Код:
$(document).ready(function() {
$('.show a').click(function(){
$('#recNum').val( $(this).html() );
$('#sortform').submit();
})
$('.sort a').click(function(){
$('#sort').val( $(this).attr('rel') );
$('#sortform').submit();
})
})

Что нужно изменить или добавить для сортировки поисковых объектов?)
04.10.2013, 08:52
Руслан Густокашин
Студия Вэлпис

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

Вы сами себе противоречите. улыбка Вы же просили сделать поиск без создания раздела "Поиск", а это можно сделать, осуществляя поиск только в конкретном разделе.
Для того, чтобы отображались все товары по результатам выборки, вам нужно создать раздел "Результаты поиска" (например, /catalog/search/), добавить туда компонент ваш товарный компонент, прописать у формы поиска action='/catalog/search/' и затем в системных настройках делать проверку вроде этой
if($sub==XXX) {
$ignore_cc=$ignore_sub=1; // отключаем проверку разделов и инфоблоков для поиска
.... (здесь упомянутые ранее query_where и тд)
}


Касательно сортировки - у вас же все работало, насколько я помню. После чего перестало работать и какая именно программная конструкция не срабатывает?
04.10.2013, 09:47
Гость
Гость

Вот оно что) Я не противоречу себе, я разбираюсь в системе)
Я не знал, что без доп. раздела, нельзя осуществить поиск по не конкретному разделу) Извиняюсь за тавтологию)
Такс, с Вашего позволения...
Добавить форму и изменить там значение "action" (которую Вы мне давали?) в товарный компонент в шаблон действий или в шаблон компонента?

По поводу сортировки.
Она работает, но мне бы хотелось, чтобы она еще и "Поисковые объекты" сортировала)
04.10.2013, 10:03
Руслан Густокашин
Студия Вэлпис

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

Форму вставляйте в префикс списка объектов. Чтобы форма показывалась перед списком товаров. Вы ведь так хотели? улыбка Ну а всякие там ignore_cc и тд надо вставлять, конечно, в "Системные настройки" этого компонента. Вместо XXX поставьте номер раздела "Результаты поиска".
Сортировка в результатах поиска должна заработать.
Но, возможно, в сортировочную форму придется добавить скрытое поле:
<inpuy type='hidden' name='subject' value='<?=$subject?>' />
04.10.2013, 10:21
Гость
Гость

Ааа!!!) Вот это головняк)))
Форма с поиском должна находится в шаблоне дизайна (в шапке сайта) и при поиске должны выводиться товары, которые находятся в каталоге /catalog/ и вложенных разделах этого каталога!) Вот как нужно)
Таким вот способом выводится шаблон компонента, если конечно я не ошибаюсь:
<?= s_list_class(XXX,XXX,"nc_ctpl=XXX") ?>
Так как же мне вывести эту злобную форму?)
Извините, я не технарь и не программист, просто есть некая нужда делать это самому...)
04.10.2013, 10:32
Руслан Густокашин
Студия Вэлпис

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

А, ну нет проблем, ставьте форму поиска в макет дизайна в шапку. Там она тоже будет работать. s_list_class тут ни к чему. Не забудьте в акшене написать не /catalog/, а /catalog/search/, т.к. именно передача поисковых параметров на раздел search приведет к тому, что отобразятся все товары из всех разделов с учетом поисковой фразы и сортировки.
04.10.2013, 13:59
Гость
Гость

Совсем другое дело))) Здорово, поиск работает!)
Это все конечно очень хорошо, но вот теперь нужно сделать выборку товаров по цене, бренду, цвету, размеру)
Я думаю, что это как-то связано с сортировкой...
Нужно вывести список всех брендов (при нажатии на определенный бренд, показывать именно этот бренд), указать минимальную и максимальную цену в виде ползунка. Ну думаю и все) Есть примерчики?)
198 196 2013-10-15 18:26:12 13315
Страницы: 2  |  3  |  4  |  5  |  6
Описание проекта