|
|
25.06.2010, 12:55
|
|
Александр
Зарегистрирован: 2010-05-30
Сообщений: 4
|
Помогите советом, как сделать следующую структуру:
Есть Регионы:
Регион 1
Регион 2
Регион 3
…
Есть Виды спорта:
Спорт 1
Спорт 2
Спорт 3
Есть Новости и Статьи по каждому виду спорта в каждом регионе.
Требуется выводить все статьи и новости по региону и все статьи и новости по виду спорта (со всех регионов).
Начал делать следующим образом
Создал разделы
Регион 1
-Спорт 1
-Спорт 2
-Спорт 3
Регион 2
-Спорт 1
-Спорт 2
-Спорт 3
Соответственно в каждый раздел с видом спорта добавил компоненты Новости и Статьи.
При этом все новости по региону вывести проблем не возникло. А как выводить по виду спорта со всех регионов?
Есть ли возможность сделать другим более простым (правильным) способом?
|
|
|
25.06.2010, 13:50
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
а как вы вывели все новости по региону?
|
|
|
25.06.2010, 17:45
|
|
Александр
Зарегистрирован: 2010-05-30
Сообщений: 4
|
через
if ($sub == XXX) {
$ignore_sub=1;
$ignore_cc=1;
};
т.е. вывожу все новости и статьи раздела РегионX
|
|
|
25.06.2010, 23:14
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
У вас правильная логика, единственное
$ignore_sub=1;
$ignore_cc=1;
выведет вам записи не из РегионХ, а все записи этого компонента, чтобы вывести записи определенных раздело нужно дописать ваше условие:
Код:if ($sub == XXX) {
$ignore_sub=1;
$ignore_cc=1;
$query_where = "Subdivision_ID=ХХ OR Subdivision_ID=ХХ...";
};
Теперь по виду спорта, если у вас виды спорта привязаны к разделам то следовательно вам нужно написать аналогичное условие. Можете его либо жестко забить. либо получать ID нужных разделов sql запросом к табличке Subdivision в которой хранится карта сайта. Выбирая id нужных разделов к примеру исходя из id родительского раздела и ключевого слова.
Вариант 2 мне кажется предпочтительный, виды спорта мы не разбиваем по под разделам. Делаем следующим образом, создаем список со значениями нужных видов спорта, добавляем в компонент поле с этим списком, к примеру vidsporta, при редактировании у записи выбираем к какой категории она относится. Затем в нужных местах делаем ссылки вида <a href='?vidsporta=1'>рыбалка</a>
И в системных настройках пишем
Код:if ($vidsporta) {
$ignore_sub=1;
$ignore_cc=1;
$query_where = "vidsporta=".$vidsporta."";
};
либо
Код:if ($sub == XXX) {
$ignore_sub=1;
$ignore_cc=1;
$query_where = "vidsporta=1";
};
|