Что означает поле: тип контента delta, предлагаемый в контекстных фильтрах в представлениях?

27

При создании нового контекстного фильтра для представления в список типов включаются такие параметры, как content: spec (field_spec: delta), где spec - это имя поля, которое я прикрепил к типу контента, принятому для представления. Появляется на некоторых, но не на всех полях, предлагаемых в списке. Я не могу найти ссылку на это поле. Что это такое (field_name: delta)?

штучный камень
источник

Ответы:

30

Появляется только для многозначных полей. Это относится к порядку значений. Дельта 0 обычно является первым элементом, 1 - вторым и т. Д. Это можно использовать для ограничения результатов теми, у которых есть значения для определенной дельты.

tim.plunkett
источник
2
Я обнаружил, что это действительно помогает уменьшить количество дубликатов без использования отдельного флага (который не всегда работает). У меня есть открытый фильтр, который также может уменьшить дубликаты, но если фильтр пуст, несколько результатов действительно присутствуют delta == 0в фильтрах.
danielson317
6

В Drupal имя дельта-переменной наследует терминологию Drupal 6 и является индексом для полей, блоков и т. Д. Того же типа.

При разработке модуля $ delta позволяет одному модулю возвращать много блоков. Это также может быть проще для понимания, если учесть, что $ delta не обязательно должен быть числовым. Это просто идентификатор.

В вашем случае это локальный идентификатор этого поля. Это похоже на #id в CSS.

drupal_stuff_alter
источник
Спасибо, я искал дельту в пользовательском интерфейсе, но скоро увижу вашу переменную, как только я вступлю в PHP-конец Drupal.
Ашлар