2013-08-02 2 views
1

НАЧАТЬ-EDITРЕШЕННЫЕ - Drupal просмотров 3 - отсутствует "НЕСКОЛЬКО настройки" в отношении объекта

Решено!

Я нашел модуль Views Merge Rows - работает очень красиво. Если по какой-то причине он не поддерживает модуль функций, я могу взять его код, чтобы сам использовать hook_views_pre_render.

END-EDIT

Контекст: Тип содержимого Person имеет ссылку (несколько значений) к типу контента работы, используя ссылку на сущность.

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

Выполнено: Вид с обратной ссылкой, выбираются правильные узлы. (Views 7.x-3.7)

Задача: Невозможно отобразить значение, разделенное запятой. Примечание. Обычно я делаю это с типом отображения «Простой разделитель», который находится под «Отображать все значения в той же строке» в группе полей MULTIPLE FIELD SETTINGS. Однако эта группа полей недоступна в моем контексте.

Любая помощь или объяснение или идея или что-то еще будет оценено!

Спасибо.

ответ

0

Вам нужны пользовательские представления. Формат здесь, потому что вы говорите о целом ряде строк, а не о поле результатов. Вы можете использовать «Unformatted list» и добавить запятую для добавления CSS или JS.

Какую внешность вы используете? Можете ли вы экспортировать все свои представления во внешний редактор и предоставить ссылку?

0

У меня была аналогичная проблема, когда я использовал ссылку «Ссылка на сущность» «Ссылка на сущность» вместо «Связанная сущность». (Ссылка была на ребенка, а представление началось на родительском уровне).

Когда вы запускаете системное сообщение Drupal в строке (dsm), оно возвращает все ответы nid соответствующим образом, но как разные строки результатов, а не как один объект; однако, поскольку поле NID (как и многие другие) не имеет возможности отображать несколько результатов, оно будет захватывать только первый результат.

В итоге мне пришлось выполнить запрос Entity из поля представлений PHP с идентификатором NID текущей строки в качестве одного из условий поля. Казалось, что это трюк, вместо того, чтобы пытаться загрузить View в View с view_field_view.

$query = new EntityFieldQuery(); 
$query->entityCondition('entity_type', 'node') 
->entityCondition('bundle', '[your_content_type]') 
->propertyCondition('status', 1) 
->fieldCondition('[your_field_machine_name]', '[field_column_to_check]', $row->nid) 
->addMetaData('account', user_load(1)); // Run the query as user 1. 
$result = $query->execute(); 
0

У меня была очень похожая проблема: нет «настроек нескольких полей» были доступны в конфигурации поля ссылки на объект многозначного от моего типа контента к пользователю.

Решил его, удалив ссылку на сущность и вместо этого используя поле «Идентификатор пользователя» для нескольких значений моего типа контента напрямую. Теперь область формы «Несколько полей» была доступна, и я выбрал «Отображать все значения в той же строке» там, где вы обычно. Теперь это будет отображать только числовые идентификаторы пользователя, разделенные запятой (не желательно).Но в полевой конфигурации также была настройка «Формат:», которую я установил в «Label». Вместо этого вместо этого будут отображаться имена пользователей.

Так что, создав пользовательский форматтер, вы сможете отображать связанные с ним объекты «Работа» аналогичным образом.

1

Мне удалось обойти эту проблему, используя token_formatters. Основные шаги (после лексем форматтеров установлены):

  1. Нет связь с ссылочным объектом в представлениях (не требуется)
  2. Добавить ссылочный объект поля к представлению
  3. Изменения форматировщик к «Разбивается на лексемы текста»
  4. Для 'Text to output' использовать токен (я использую [node: field-name])
  5. Для 'link destination' использовать токен ('m using [entity: url: path] для относительной ссылки)
  6. Установите несколько настроек поля по желанию