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

Помогите со структурой

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";
};
198 196 2010-06-25 23:14:24 10552
Описание проекта