Как Вставить материал одного типа в материал другого типа?

Аватар пользователя run run 4 сентября 2009 в 21:01

Есть один вид материала на пример "Описание", в нем создается несколько десятков нод с описанием чего-либо. Потом создается дополнительный вид материала "Событие".

Нужно в ноды материала "Событие" вставлять ноды принадлежащее "Описанию".

С помощью node reference можно вставить в "Событие" только заголовок ноды "Описание" с ссылкой на соответствующую ноду. Это совсем не то что надо.

Как вставить все содержание ноды "Описание" в ноду "Событие" (заголовок и текст).

Пробовал модуль viewfield, создает вид и вставляет текст в ноду "Событие". НО, у меня не получилось сделать что-бы можно было-бы выбрать подходящую ноду из "Описание" для ноды "Событие".

Как сделать:

1.Вставить (желательно с помощью CCK) заголовок и полный текст ноды одного типа материалов в ноду другого типа материалов, а не только заголовок-ссылку на материал.

или

2.Сделать всплывающее окошко с текстом из ноды на которую ссылается заголовок сделанный с помощью node reference.

Может есть и другие варианты...

0 Thanks

Комментарии

Аватар пользователя smih smih 5 сентября 2009 в 7:40

1. С помощью node reference вставить в "Событие" ссылку на "Описание" (как вы и сделали)
2. С помощью Panels (или аналогов/возможно самому шаблон переделать)вывести два региона: "Событие" и с помощью Views - "Описание" из node reference. В Views сможете выводить что захотите (заголовок, полную ноду и т.д. и т.п.)
если есть вопросы как это реализовать - пишите в личку.

Аватар пользователя run run 5 сентября 2009 в 12:31

С 1-ым пунктом понятно.

А с 2-рым пунктом, думал сделать с помощью модуля viewfield. Модуль viewfield возвращает вид в ноду. Так как этот модуль работает под ССК, то понятно что есть возможность настроить вывод этого поля как нужно.

Вывести вид с помощью viewfield проблем нет. Проблема в том что возвращается вид (текст) одного и того-же из материалов "Описания". А есть болше 10-ка материалов типа "Описание". В поле node reference нет проблем выбрать из списка нужный материал типа "Описание". Но Как застапить "вид" выводить текст в зависимости от того что выбрано в поле node reference?

Аватар пользователя smih smih 5 сентября 2009 в 12:44
run wrote:

Но Как застапить "вид" выводить текст в зависимости от того что выбрано в поле node reference?

Передать в Вид в качестве аргумента nid, в Relationships указать поле node reference, а в качестве полей выводить нужные и указывать, что они из node reference должны браться

Аватар пользователя run run 5 сентября 2009 в 13:44
smih wrote:
run wrote:

Но Как застапить "вид" выводить текст в зависимости от того что выбрано в поле node reference?

Передать в Вид в качестве аргумента nid, в Relationships указать поле node reference, а в качестве полей выводить нужные и указывать, что они из node reference должны браться

Можно по подробней расписать ход решения

Аватар пользователя MIR MIR 6 сентября 2009 в 17:00
run wrote:
smih wrote:
run wrote:

Но Как застапить "вид" выводить текст в зависимости от того что выбрано в поле node reference?

Передать в Вид в качестве аргумента nid, в Relationships указать поле node reference, а в качестве полей выводить нужные и указывать, что они из node reference должны браться

Можно по подробней расписать ход решения

У меня работает и без взаимных отношений. Из поля viewfield передаю во вьюсу referenced nid (стоит токен) и вьюса (с параметром nid) спокойно все отрабатывает :)

Аватар пользователя run run 6 сентября 2009 в 21:13
MIR wrote:
run wrote:
smih wrote:
run wrote:

Но Как застапить "вид" выводить текст в зависимости от того что выбрано в поле node reference?

Передать в Вид в качестве аргумента nid, в Relationships указать поле node reference, а в качестве полей выводить нужные и указывать, что они из node reference должны браться

Можно по подробней расписать ход решения

У меня работает и без взаимных отношений. Из поля viewfield передаю во вьюсу referenced nid (стоит токен) и вьюса (с параметром nid) спокойно все отрабатывает :)

Запарился, не получается, как это работает?????? Если можно по шагам расписать....

Аватар пользователя Well@drupal.org Well@drupal.org 6 сентября 2009 в 11:16
run wrote:

Модуль InsertNode буду пробовать, спасибо. Если есть опыт его использования — напишите.

Вы разобрались? Там все просто. Активируете модуль, и в поле ноды "Содержимое" вводите (например) node:article41 title teaser more (в квадратных скобках), предварительно отметив способ ввода -Insert node. На выбор несколько вариантов: content, collapsed, teaser, link, title, body и т.п. Простой и удобный модуль, имхо.

Аватар пользователя MIR MIR 5 сентября 2009 в 17:04

Вопрос более практичный: как вставить определенные поля node_1 в node_2?

При этом node_2 имеет поле nodereference на node_1.

Аватар пользователя run run 6 сентября 2009 в 21:11
MIR wrote:

Вопрос более практичный: как вставить определенные поля node_1 в node_2?

При этом node_2 имеет поле nodereference на node_1.

Может вот это подойдет Node2Node

Аватар пользователя MIR MIR 6 сентября 2009 в 21:30

У меня так: тип контента "директор" - привязка к словарю "директор". Тип контента "школа", в котором поле нодереф смотрит на словрь директоров, добавил поле вьювсфилд, в настройках которого для вьюсы, выводящей морду директора, указал параметр [field_posadovets_reference-nid] (установлен токен!). В самой вьювсе, которая выводит морду директора, задал параметр nid. И все! Никаких релатионщип не определял!

Логика такая: поле вьювсфилд отправляет директорской вьювсе ИД ноды самого директора (с нодереференс), а потом забирает сам вывод с теми полями, которые ты построил.

Аватар пользователя run run 6 сентября 2009 в 21:48

MIR> спасибо за помощь. А "директор" один или несколько. У меня таких "директоров"-нод около 2-х десятков (термены в словаре привязаны к соответствующему типу материалов), а "школ" (другой тип материалов) окололо сотни нод. вьювсфилд возвращает одного и тогоже "директора" во все "школы". А надо в определенную "школу" выводить нужного "директора".

Аватар пользователя MIR MIR 7 сентября 2009 в 23:05
run wrote:

MIR> спасибо за помощь. А "директор" один или несколько. У меня таких "директоров"-нод около 2-х десятков (термены в словаре привязаны к соответствующему типу материалов), а "школ" (другой тип материалов) окололо сотни нод. вьювсфилд возвращает одного и тогоже "директора" во все "школы". А надо в определенную "школу" выводить нужного "директора".

Директоров по количеству школ. У меня все честно работает. Проверь: в школе поле-ссылка на директора. Ты когда создаешь школу, у тебя список директоров - выбираешь нужного. Потом, еще в школе поле вьювсфилд, которое берет НИД ноды выбранного директора и передает основной вьювсе.