|
|
25.01.2009, 20:49
|
|
Гость
Гость
|
Здравствуйте!
Имеется каталог товаров:
Видеотехника
--Телевизоры
--dvd плееры
Аудиотехника
--mp3плееры
--музыкальные центры
Необходимо реализовать выборку по брендам:
Бренды
--Philips
--Panasonic
тоесть, при клике по ссылке "Philips" должны выводиться все товары даннного бренда.
Подскажите пожалуйста, какие могут быть способы реализации...
|
|
|
26.01.2009, 10:32
|
|
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
Зарегистрирован: 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: код не проверял, и все названия полей и таблиц условны.
|