Как с точки зрения Гуру правильнее реализовать подобное?

Главные вкладки

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 14:38

Есть несколько видов документа которые отличаются только словарями таксономии.
Вариант 1.
Для каждого вида документа создаем свой тип материала и подключаем к нему нужные словари. Решение тривиальное, но типов материалов в итоге может получиться очень много.

Вариант 2.
Создаем один тип материала, в нем создаем поле ССК (выпадающий список) и в зависимости от данного выбора подгружаем в форму (Аякс?) необходимые словари.

Лично мне второй вариант интуитивно кажется более разумным, но как его реализовать пока не очень понятно. Может есть какие готовые решения или в сторону каких модулей имеет смысл посмотреть?

Заранее спасибо за ответы.

Комментарии

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 15:51

gumk wrote:
а может один тип материала, один словарь и http://drupal.org/project/hierarchical_select (по результату будет похож на ваш второй вариант)

Именно сейчас смотрю на данный вариант, но пока не понял есть ли возможность разным ролям каким либо образом давать возможность редактировать отдельные части (а не все) данного единого словаря. Если такой возможности нет, то данный вариант мне увы не подходит.

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 15:57

И второе: не понимаю возможно ли часть словаря представить пользователю с помощью taxonomy_menu? Пока вижу только как весь словарь, а это меня не устраивает.

Аватар пользователя kodo kodo 7 августа 2010 в 17:16

Подойдите к задаче с другой стороны. С какой целью вы создаете эти несколько словарей и несколько типов материала? для разгранечения прав доступа? Структурирования данных? Разделения по типам?

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 17:34

kodo wrote:
Подойдите к задаче с другой стороны. С какой целью вы создаете эти несколько словарей и несколько типов материала? для разгранечения прав доступа? Структурирования данных? Разделения по типам?

" для разгранечения прав доступа?" - Нет, только некоторые роли будут иметь возможность добавлять в определенные части словаря (или в определенные словари) термины. В остальном доступ к документам данного типа (типов) на уровне ролей не ограничен. Есть другие ограничения по доступу (самопис) но к данному вопросу отношения это не имеет.

"Структурирования данных?" - да, некоторые словари пользователям должны представляться в виде иерархии меню. И выводиться в виде представлений в которых критериями фильтров являются термины словарей.

"Разделения по типам?" - не совсем понял что имеется в виду. Тип материала хочется оставить один (для данных типов документов), но пока не понимаю как это сделать.

Аватар пользователя riyuzakki riyuzakki 7 августа 2010 в 17:23

Если Вы хотите еще и

"Alex_R" wrote:
разным ролям каким либо образом давать возможность редактировать отдельные части (а не все) данного единого словаря

, и
"Alex_R" wrote:
часть словаря представить пользователю с помощью taxonomy_menu

, тогда логичнее первый вариант. Как бонус - появится возможность давать право на создание/редактирование отдельных типов материалов.
И да, опишите задачу и цели задачи более подробно.

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 18:22

riyuzakki wrote:
И да, опишите задачу и цели задачи более подробно.

Попытаюсь.
Имеем мультисайтинг с общими пользователями, общими ролями, раздельными связями пользователь-роль и частично общим контентом. Т.е. есть типы материалов общие для всех сайтов и есть типы материалов, материалы которых доступны только на родительском сайте (это достигается заполнением одного из полей ССК значением base_url и далее по этому значению определяется показывается этот материал или нет). Именно про подобные материалы (точнее про их часть - самые обычные страницы без всяких наворотов) и идет речь.

Естественно каждый сайт имеет свою структуру и расположение конкретного документа в определенном разделе конкретного сайта задавалось определенным полем ССК (выпадающий список) в котором определяется в какой раздел сайта данный документ попадает. Назовем это подтипом документа. Данный выпадающий список для каждого сайта естественно свой.

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

Т.е. При создании нового документа если в выпадающем списке выбирается определенный подтип документа, то необходимо обязательно указать его месторасположение в иерархии внутри данного раздела и показываться данный выбор должен только для данного подтипа. При этом есть еще несколько словарей таксономии общие для всех документов, которые доступны всегда, для документов данного типа.

Как проще всего такое сделать? Вариант для каждого варианта создавать свой тип материала... по скромным оценкам такой список типов сразу перевалит за полсотни, а проект только начинается и сайты к нему будут добавляться, а каждый сайт это 3-5 новых типа...

Вот такая ситуация. Очень надеюсь на советы.

Аватар пользователя riyuzakki riyuzakki 7 августа 2010 в 18:30

Да, Вы правы, в этом случае логичнее оставить один тип материала, верхнюю структуру задать таксономией, нижнюю - либо таксономией, либо полем ССК. Придется немного дописать жава-скриптов, чтобы в формах создания материала показывались/скрывались поля нижней иерархии.

Аватар пользователя Alex_R Alex_R 7 августа 2010 в 19:30

riyuzakki wrote:
Да, Вы правы, в этом случае логичнее оставить один тип материала, верхнюю структуру задать таксономией, нижнюю - либо таксономией, либо полем ССК.

Верхняя структура у меня сейчас сделана полем ССК - думаете логичнее переделать на таксономию?

riyuzakki wrote:
Придется немного дописать жава-скриптов, чтобы в формах создания материала показывались/скрывались поля нижней иерархии.

Т.е. Только самому писать? Неужели ничего подходящего готового прикрутить не получится? В жаве совсем не силен Sad

Аватар пользователя riyuzakki riyuzakki 7 августа 2010 в 20:18

Alex_R wrote:
Верхняя структура у меня сейчас сделана полем ССК - думаете логичнее переделать на таксономию?

Логичнее? Наверное. Ведь таксономия для этого и сделана.
Alex_R wrote:
Т.е. Только самому писать? Неужели ничего подходящего готового прикрутить не получится? В жаве совсем не силен :(

А я не силен в знаниях готовых модулей. Может что и есть.

Аватар пользователя kodo kodo 7 августа 2010 в 19:36

"Alex_R" wrote:
Нет, только некоторые роли будут иметь возможность добавлять в определенные части словаря (или в определенные словари) термины.
- Скорее все же да. Т.к. не все роли одинаково оперируют со словарем. Можете посмотреть модуль http://drupal.org/project/taxonomy_access