|
|
28.08.2006, 12:50
|
|
CryAngel
CryAngel
Зарегистрирован: 2006-07-27
Сообщений: 5
|
Вот такой вопрос возник:
Имеется домен и некоторое количество поддоменов. И, само собой, разделы новостей на каждом субдомене и основном домене. Хочется (даже необходимо) сделать так, чтоб можно было централизованно (например на основном домене) публиковать новость, и при добавлении выбирать на каких поддоменах она будет показываться.
Часть решения задачи я уже вижу, собственно:
1. альтернативная форма
2. вывод в форму списка поддоменов с возможностью выбора нескольких.
3. сделать выборку по большому счету тоже мелочь.
Но возникает вопрос - как это хранить? Согласно классике, стоит создать еще одну таблицу, которая будет связкой между доменами и новостями. Но как тогда в нее заносить? Это можно как-то сделать в "операции после добавления"? или есть какие-то более прямые и явные пути?
Я только начинаю разбираться с неткатом, и плохо знаю идеологию. Помогите разобраться?
|
|
|
28.08.2006, 15:50
|
|
Andrew
Зарегистрирован: 2004-04-30
Сообщений: 134
|
У меня такой механизм есть на одном из проектов. Реализовано всЈ просто.
1. В шаблоне - переменные (чекбоксы):
Код:$f_catalogue_1
$f_catalogue_2
$f_catalogue_3
По умолчанию они все включены.
1. В системных настройках шаблона:
Код:$ignore_catalogue = true;
$ignore_sub = true;
$ignore_cc = true;
Далее в выводе обрабатываются показы по обычной схеме:
Код:
".opt($f_catalogue_1 AND $current_catalogue==1,"Шаблон вывода на первом сайте")."
".opt($f_catalogue_1 AND $current_catalogue==1 OR $f_catalogue_2 AND $current_catalogue==2,"Шаблон вывода на первом и втором сайтах")."
".opt($f_catalogue_1 OR $f_catalogue_2 OR $f_catalogue_3,"Показываем на всех сайтах")."
В общем, дальше как угодно...
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
29.08.2006, 11:53
|
|
CryAngel
CryAngel
Зарегистрирован: 2006-07-27
Сообщений: 5
|
Да... Такое обдумывалось тоже. Но при моих условиях (больше тридцати поддоменов с заранее неизвестным их числом), такая реализация становится несколько напряжной.. (:
Теоретически, можно к таблице новостей добавить текстовое поле, в альтернативной форме добавления генерить список доменов, который, ессесно, будет возвращать массив выбранных айдишников. В действии после добавления (если я правильно понимаю идею), этот массив serialize, чтоб получить строку айдишников вида "1,13, 24, 32...", и хранить ее в текстовом поле. Но это все-таки весьма и весьма кривой путь. Неужели мастера нетката не подскажут новичку более прямой путь?
|
|
|
30.08.2006, 02:19
|
|
Andrew
Зарегистрирован: 2004-04-30
Сообщений: 134
|
Погодите! Не всЈ сразу
Вы по каким критериям хотите сортировать новости для включения на том или ином поддомене?
При добавлении новости, как вы сообщите еЈ принадлежность к конкретному домену? Автоматически хотите?
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
30.08.2006, 12:19
|
|
CryAngel
CryAngel
Зарегистрирован: 2006-07-27
Сообщений: 5
|
"Бравушки!"(с) (((:
Собственно, я собирался создать дополнительное поле типа список через nc_list_select() содержащее в себе все поддомены. Список будет типа multiple. Соответственно возвращает он массив id выбранных поддоменов. (: вот этот массив где-то надо и хранить. (: Вот. (:
|
|
|
03.09.2006, 20:03
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
Как вариант, у новости создайте текстовое поле, где через запятую будут хранится ID доменов, на которых должна показываться новость. Надеюсь, как из списка сформировать такую строку и поместить ее в это поле вы знаете? А дальше про отображении новости простоставить условие, например,
$query_where="a.NewsDomain LIKE '%$id,%'";
гда $id- каким-либо образом сформированный ID текущего домена.
|