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

Здравствуйте!

Имеется каталог товаров:

Видеотехника
--Телевизоры
--dvd плееры
Аудиотехника
--mp3плееры
--музыкальные центры

Необходимо реализовать выборку по брендам:
Бренды
--Philips
--Panasonic
тоесть, при клике по ссылке "Philips" должны выводиться все товары даннного бренда.

Подскажите пожалуйста, какие могут быть способы реализации...
26.01.2009, 10:32
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

1. В компоненте товара надо добавить поле Бренд, например Brand (может оно у вас уже есть)
2. В системных настройках компонента товаров дописать:
Код:

if ($brand) {
$ignore_sub = true;
$ignore_cc = true;
$query_where = "a.Brand = '{$brand}'";
}

3. Разделу Philips назначьте компонент товара. Также в настройках раздела Philips в поле "Внешняя ссылка" укажите "?brand=Philips". С остальными разделами по аналогии.

Temet nosce...
26.01.2009, 18:38
Гость
Гость

Спасибо))
А вот еще вопрос ...
Можно ли сделать так, чтобы "Внешняя ссылка" формировалась автоматически, то есть чтобы не приходилось вписывать "?brand=Philips".

27.01.2009, 09:40
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Штатными средствами неткета такое сделать нельзя. Тут скорее надо ставить другой вопрос - после добавления нового бренда, чтобы автоматически создавался соответствующий раздел. В принципе такое сделать можно, если бренды у вас реализованы не списком, а компонентом. В компоннете ставите свои обработчики событий: добавления/редактирования/удаления - и все будет работать.

Temet nosce...
27.01.2009, 17:27
den

Зарегистрирован:
2005-10-28
Сообщений: 33

а что мешает сделать псевдо-навигацию одним запросом, который пройдет по списку брендов и нарисует ссылки в стиле подразделов?

 
28.01.2009, 13:36
Гость
Гость

Интересно как?
28.01.2009, 19:56
den

Зарегистрирован:
2005-10-28
Сообщений: 33

ну вариантов много на самом деле.
Основное - в макете, где указывается вывод навигации того уровня, который будем подменять, поставить условие по какому-нибудь параметру, например:
Код:
".($sub!='111' ? s_browse_level(1,$browse_sub[1]) : FAKE_MENU)."

FAKE_MENU - это условное обозначение, туда можно поставить как функцию, которая будет выводить навигацию на основе того же $browse_sub[1] (там будет всего с десяток строк), так и просто жестко прописать запрос (в запросе предполагается, что все данные находятся в одном разделе, бренды находятся в списке Brand, и выводимые ссылки лишь меняют какой-то get-параметр, который в свою очередь влияет на показ объектов через системные настройки):
Код:
listQuery("SELECT DISTINCT a.Brand, b.Brand_Name FROM MessageXX as a,
Classificator_Brand as b WHERE a.Brand=b.Brand_ID ORDER BY a.Brand",
"<a href='".$GLOBALS[current_sub][Hidden_URL]."?brand=$data[Brand]'>$data[Brand_Name]</a><br>")

Ну а дальше системные настройки, как Гена написал...

PS: код не проверял, и все названия полей и таблиц условны.

 
198 196 2009-01-28 19:56:37 9560
Описание проекта