Я очень люблю пользоваться таксономией - это незаменимый инструмент для перелинковки и категоризации материалов. Но сам термин таксономии, который собирает весь вес ссылающихся на него материалов выглядит обделенным. Мы не можем ни добавить к нему комментариев, ни CKK полей, даже для вывода описания (description), порой приходится приделывать костыли.
Можно ли сделать термин таксономии полноценной нодой? С возможностью добавлять поля, и пр.? Ведь по сути таксономия это та же node reference нода (или я ошибаюсь?) , так почему ее лишили всех радостей нод? Ну и возникает обратный вопрос - можно ли сделать ноду термином таксономии?
в общем кто если знает похожие решения поделитесь пожалуйста. Отказыватья от таксономии не хочется, и хочется сделать ее универсальной.
Комментарии
Можно сделать так:
1. Создать тип материала, который будет описывать ваш термин таксономии;
2. Добавить в него все необходимые поля через cck;
3. Создать материал этого типа и связать его с термином, который вы хотите описать (content taxonomy или обычная такосономия);
4. Создать вьюс, который будет выводить один результат в виде ноды/набора полей с условием тип=ваш тип и принимать в виде аргумента термин таксономии, привязанный к документу этого типа;
5. Вывести ваш вьюс на странице термина таксономии (taxonomy/term)
Во всяком случае, я решил аналогичную задачу именно таким способом. А выглядеть результат может, например, так:
http://www.liverbird.ru/category/personalii/glen-dzhonson (на странице термина таксономии вверху отображается вьюс с набором полей, которые я хотел бы там видеть).
Taxonomy Node
если под превращением нод в таксономию подразумевается создание иерархии между ними, то CCK Node Reference, Node Hierarchy
в семерке таксономии можно добавлять поля, делая из нее эрзац-ноду, без версий и возможности комментирования
встречный вопрос - а для чего смешивать две разные сущности?
Подписываюсь. Уж очень интересный вопрос.
Оффтоп: в дру7 это уже реализовано. Может быть переезд устроить пора?
То есть по сути во вьюсе вывода таксономии используется 2 вьюса - один для вывода полей, второй для вывода собственно терминов таксономии..
Не могли бы вы подробнее описать - что надо добавить к стандартному выводу вьюса, для того чтобы сверху выводился еще один вьюс?
В любом случае похоже придется под каждый термин создавать свою вьюху
Да, всё верно. Используется два вьюса — один для вывода материалов, связанных с термином таксономии, а второй для вывода результатов запроса, где аргументом является term id.
Почему свою вьюху для каждого термина? Это как вы себе представляете? В стандартной поставке модуля views есть вьюс ( если я не ошибаюсь, он там был, а не я его создавал), который эмулирует стандартный вывод терминов таксономии Друпалом. Отличие одно, но важное. Как любой другой вьюс, он может быть темизирован через шаблон. Собственно, у меня так и сделано. В шаблон добавлен только вызов второго вьюса (через views_embed_view()), который у меня и занимается отображением полей ноды нужного типа. Вам так достаточно понятно или нужен код?
Если во вьюсе сделать представление "вложение" и приаттачить его до/после представления "страница" - тогда можно обойтись одним вьюсом, если я правильно понял смысл.
Можно. У меня аттачится вьюс, который используется и в других местах, а не только на странице термина, поэтому у меня их два. Более того, если его просто аттачить в хедер/футер представления «страница», можно обойтись без правки шаблона.