Есть у кого идеи, как сделать так, что бы материал определенного типа попадал в определенную категорию автоматически. Например у меня есть тип материала "Новость" и я хочу, что бы при создании новой новости она автоматом попадала бы в категорию "Новости".
Комментарии
Если "материал определенного типа" подразумевает различные типы нод для материала (что легко достигается модулем contento, немного сложнее CCK и пр.) тогда:
Читайте пример решения в "туториале" "Creating a basic hybrid structure" (ссылка должна заработать в течение нескольких дней):
http://wiki.drupallers.ru/Perevody/Modul'Category/SozdanieOsnovnojjGibridnojjStrukturySajjta?v=lvv (в переводе - большой респект друпал-коммюнити!) или на сайте разработчика (по ангельски - большой респект разработчику):
http://category.greenash.net.au/node/91
Лучше (полней и внятней) чем там не напишешь.
Общая же схема этой задачи выглядит следующим образом. При создании контейнера в свойствах контейнера есть опция выбора типа нод, которые будут привязаны к категориям этого контейнера. Вот там то и указывается необходимый тип. Если эта связка контейнера и типа эксклюзивна, то при создании ноды в опции "Категории" соответсвующей формы, в списке выбора родительского контейнера и категории будет по умолчанию указан необходимый. Для того, чтобы нода попадала именно в определенную категорию для упомянутого "эксклюзивного" контейнера создается единственная категория (в вашем случае и в случае примера из "туториала" - см.ссылки- это "Новость"). Соответственно, в эту категорию новость и будет попадать.
Следующая часть марлезонского балета - это как добраться до этих новостей (организация меню). Всё это в "туториале".
Мой вопрос не относится к тому, как создать структуру сайта, это и так понятно. Меня интересует автоматическое связывание материалов с категориями.
У меня есть контейнер "Новости" в который я могу добавлять только материалы типа "Новость". В этом контейнере одна единственная категория "Новости". Я создаю новую "Новость" и если я явно не указываю в филдсете "Категории" категорию "Новости" для контейнера "Новости" то моя новость уходит в никуда, не происходит не какого привязывания автоматом.
Вроде модуль такой есть. Поищите на drupal.org
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Если вы немного изучите систему хуков друпала, то написать подобный модуль займет у вас приблизительно 15 минут - при инсерте ноды в бд засунуть ее в категорию. Возможно это будет проще и быстрее чем искать чужое?
Спасиба за понимание
модуль есть - Default Terms - он позволяет выбраным типам контента присваивать любые термины из любых словарей (даже из неактивных?!).
насчет хуков - очень интересно было бы посмотреть примерчик
Так модуль и надо смотреть - чем не пример?
hint: все модули используют хуки
- за ненадобностью. По видимому Category перекрывает его функционал (врапер не в помощь) или же я не смог найти к ним доступ (смотрел в админке, в форме создания контейнеров и категорий). А мысль здесь вот какая - почему бы с сабж-предложением не обратиться к автору Category (расширить набор модуля ещё одним - Category Defaults)? Логика предложения понятна - дабы в списке выбора категорий при создании нод по умолчанию было то, что надо, а не сакраментальное "Нет". Такая "мелочь" действительно дорогого стоит. Собственно, был бы у меня сносный ангельский, сам бы написал...
Ну не знаю, чего кому надо, но совершенно случайно обнаружил решение проблемы автоматизма имеющимися в Category средствами. Если в контейнере структуры сайта, который создается по образу и подобию примера от разработчика (см. самый верхний комментарий к посту) выставить соответствующий тип ноды, эксклюзивно связанный с этим контейнером (его категориями) и выставить флаг "Обязательно (Required)" (последняя опция в разделе формы "Иерархия/Hierarchy"), то при создании ноды соответствующего типа требуемая категория в списке выбора выставлена по умолчанию (т.е. в "Категории" формы создания нод можно и не заходить) - жмеш на "сабмит" и вот тебе счастье! Маладца, Ron - создатель Category!!!
Лично мои потребности в рамках сабжа эта возможность удовлетворяет полностью.
Да, действительно работает. А можно ли в таком случае филдсет "Категории" вообше не выводить, дабы не путлять пользователя?
У меня для данной, конкретной роли в правах доступа отключено:
administer categories
create categories
create containers
edit all categories
edit own categories
а вот филдсет "Категории" все равно отображается.