Рейтинг:1

Как отобразить поле из одного типа контента в другом типе контента

флаг cn

Я работаю с Drupal 9. Я нашел другие подобные вопросы, но я не понимаю, что они говорят делать, и им более 10 лет, поэтому я не знаю, применимы ли они все еще.

Возможно, лучший способ описать это - это то, как SQL JOIN может обрабатывать это в запросе. Я создал простой сценарий, чтобы объяснить это. В SQL это может быть:

ВЫБЕРИТЕ Children.ParentID, Children.ChildID, Children.Name, Parents.Name ОТ родителей ПРАВО ПРИСОЕДИНЯТЬСЯ к детям НА Parents.ParentID = Children.ParentID;

Этот запрос вернет Parents.Name в запросе вместе с полями Children, которые я затем смогу отобразить. Связь один ко многим.

В примере с Drupal это будет два типа контента: Parents и Children. У них будет связанное поле: ParentID (в Parents) и ChildrenParentID (в Children). ParentID в Parents будет уникальным для этого типа контента.

Я хочу, чтобы узел Children отображал имя родителей (Parents.Name) в представлении, как мне это сделать? Я смотрел Entity Reference, но я не понимаю, что мне нужно сделать, чтобы сделать эту работу. Казалось, что я был связан, но это просто дало мне поле, где я мог начать вводить имя родителя, и оно автоматически заполнялось из существующего контента. (Я создал несколько тестовых типов контента, чтобы исследовать эту проблему.)

Часть моей проблемы заключается в том, что я новичок в Drupal и не понимаю всей терминологии, что затрудняет поиск ответов или документации. Будем признательны за любую помощь или ссылки на статьи, объясняющие это.

Кевин

leymannx avatar
флаг ne
В настройках поля вашего типа контента A добавьте поле ссылки на сущность и настройте его для ссылки на контент типа B. В настройках отображения вашего типа контента B создайте новый режим просмотра «Foobar» и настройте его для отображения только тех полей, которые вы хотите отобразить. в типе контента A. В настройках отображения типа контента A выберите режим просмотра, в котором будет отображаться указанный объект («Foobar»). Создайте узел типа A и в поле ссылки выберите узел типа B. Готово.
флаг cn
Это расстраивает меня. Я следовал вашим шагам, создавая тестовые типы контента, соответствующие вашему описанию A, B. Если я сделал это правильно, все, что у меня получилось, это поле «автозаполнение», которое показывает поле «Заголовок» из B. Может быть, я пропустил шаг. Мне не нужно поле автозаполнения. Я хочу взять поле из типа контента A и найти (один уникальный) соответствующий тип контента B и отобразить поле из B в представлении типа контента A. В основном отношение «один ко многим», где есть один объект B и один или несколько объектов А.
Jaypan avatar
флаг de
Автозаполнение — это выбранный (и, вероятно, по умолчанию) виджет формы. Вы можете перейти на вкладку _Управление формой_ типа объекта и изменить виджет для поля.
Jaypan avatar
флаг de
Кроме того, Drupal — это не фреймворк, в который можно просто зайти и начать использовать. Это приведет только к разочарованиям, с которыми вы столкнулись. Купите книгу, или заплатите за обучающие видео, или прочитайте документацию для разработчиков, прежде чем что-то делать. Вы должны хорошо понимать терминологию Drupal, прежде чем пытаться искать решения в Google или получать их здесь, в противном случае объяснения, которые вы получите, не будут иметь большого смысла. В Drupal есть кривая обучения.
флаг cn
Я видел альтернативы автозаполнению, но это были не те, которые я искал.Это помогает при вводе, так что вы можете выбирать из списка имен вместо кода #. Так что, возможно, я неправильно задал вопрос. Я искал способ отобразить вывод в представлении для одного типа контента, который я могу получить в результате поиска по другому типу контента. Данные уже будут существовать, так как это будет таблица, импортированная из внешнего источника. Это то, что пытался передать мой пример SQL JOIN. Я буду продолжать читать.

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

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