Рейтинг:1

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

флаг sa

Я не уверен, как лучше всего подойти к этой проблеме, и я надеюсь, что кто-то может указать мне правильное направление.

Краткий обзор настройки некоторых узлов: Узел A является родительским узлом. Узел B является потомком узла A. Узел B также содержит/отображает веб-формы. У нас есть поле «форма» в узле B, где мы можем вызывать существующие веб-формы, а затем узел B будет отображать веб-форму и любую дополнительную информацию (введенную в узле B) пользователю.

Теперь к проблеме: Узлы отображаются в виде карусели (с использованием jQuery Cycle2). Редакторы добавляют контент (узел A) в карусель с помощью Entity Queue. Очередь сущностей привязана к представлению, которое настроено для отображения обязательных полей из узла А в каждой «карточке». Если веб-форма существует, и узел A ссылается на узел B с веб-формой, запланированная дата веб-формы должна отображаться на этой конкретной карточке карусели.

На мой взгляд, у меня есть контекстный фильтр в «Содержимом: ссылка на веб-форму», но он отображает дату веб-формы только в том случае, если узел B введен в очередь объектов. Поскольку узел B НИКОГДА не будет использоваться в очереди сущностей, мне нужно найти способ получить дату расписания веб-формы от узла B, когда вызывается узел A.

Можно ли сделать что-то подобное в представлении? Или для этого потребуется специальный блок плагинов?

флаг cn
Добро пожаловать в Drupal Answers :) Очередь сущностей здесь все усложняет — обычно хитрость в чем-то подобном заключается в том, чтобы настроить представление так, как если бы оно собиралось отображать узлы B, добавить отношение к родителю (узлу A) и использовать родительские отношения для полей отображения, где это необходимо. Затем контекстный фильтр будет применяться к узлам B вместо типов Node A, и он должен работать по мере необходимости. Если есть возможность добавить Node B в очередь сущностей, это может быть выходом. Если нет, вам, возможно, придется подумать о написании собственного плагина для очереди сущностей, который может заполнить пробел.
флаг mx
Можете ли вы уточнить свою структуру, как именно веб-форма упоминается в B? Поле ссылки на объект? Если это так, то вам нужно пересечь два «моста». Обычно, чтобы вывести информацию об узле B в представление, вы добавляете содержимое: BtoA ER, значение по умолчанию URL... Вам нужно установить еще одно соединение, и это от B к веб-форме. Возможно, на этом этапе вы создаете режим отображения для своей веб-формы, который показывает только дату расписания, и используете этот режим в представлениях в поле ER веб-формы. Альтернативным маршрутом может быть использование двух обратных отношений, но я никогда этого не пробовал (один для BtoA, другой для BtoWebform).
calfie avatar
флаг sa
Спасибо за ответ. Прежде чем перейти к пользовательским плагинам, я думаю, что перепишу представление, чтобы узнать об отключении узла B, но добавлю связь с узлом A, а затем вытащу все необходимые поля. Чтобы ответить на вопросы prkos: веб-форма добавляется как поле веб-формы (веб-форма типа поля), а также включаются поля настроек формы (поля запланированной/открытой/закрытой даты).
Jaypan avatar
флаг de
Поскольку вы нашли решение, вы должны ответить на свой вопрос ниже.Тогда этот вопрос будет отображаться в поиске как вопрос с решением, что даст ему более высокий приоритет. Добро пожаловать в Drupal Ответы!
calfie avatar
флаг sa
Спасибо за внимание. Вместо этого я отредактировал свой исходный вопрос. Я изменил его, и ответ теперь внизу.
Рейтинг:1
флаг sa

ОБНОВИТЬ

Я пошел и последовал советам Клайва. Поскольку узел A и узел B используют один и тот же тип контента, я добавил связь в поле сущности, где узел A ссылается на узел B. Затем я добавил контекстный фильтр в поле формы типа содержимого (которое используется в узле B), убедившись, что фильтр использует отношения, определенные в разделе «Отношения». Наконец, мне пришлось настроить поле веб-формы, называемое в разделе «Поля», чтобы использовать отношения. Все эти модификации теперь позволяют мне вызывать и отображать необходимые веб-формы.

Ответить или комментировать

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