Как отключить вывод поля в зависимости от возврата из другого поля? - PullRequest
3 голосов
/ 28 января 2011

В моем представлении есть поля, которые я предпочел бы скрыть в зависимости от значения другого поля.Я ищу способы сделать это в коде или иным образом, но без включения php-фильтра.

Ответы [ 3 ]

1 голос
/ 28 января 2011

Я не знаю, какую версию Views вы используете.Я не могу вспомнить, была ли доступна перезапись вывода в V2, но я полагаю, что это было.В V3 он есть и ждет, пока вы его используете.

Перезапись вывода принимает любой код HTML, и вы можете использовать замены из того, что возвращал запрос.Я не уверен, что вы можете использовать там PHP, возможно, вы можете, но я никогда не пробовал.В любом случае, предположим, что у вас есть field_foo и field_bar, и что оба являются некоторыми опциями выбора или флажками или какой-то другой вещью с множественным выбором, имеющей пары ключ-значение в базе данных (например, 1 | foo, 2 | bar и т. Д.).

В этой ситуации у вас должно быть четыре варианта:

[field_foo_value]
[field_foo_value_raw]
[field_bar_value]
[field_bar_value_raw]

(они, вероятно, будут именоваться немного по-другому, я не совсем помню точное соглашение об именах).Вы можете переписать вывод поля "bar" следующим образом:

<span class="visibility-[field_foo_value_raw]">[field_bar_value]</span>

Затем, предполагая, что возможные ключи для "foo" равны 1 и 2, вы можете написать несколько CSS:

span.visibility-1 { display: inline; }
span.visibility-2 { display: none; }

Если разрешен PHP, это должно быть еще проще, но я чувствую, что вы можете использовать только HTML.В любом случае, я надеюсь, что это поможет.

0 голосов
/ 28 января 2011

Этот модуль работает так, как если бы он делал то, что вам нужно.Я использовал его, и его легко настроить и быстро использовать.

http://drupal.org/project/conditional_fields

0 голосов
/ 28 января 2011

Используя hook_form_alter или hook_form_FORM_ID_alter, вы можете изменить форму views_exposed_form.Оттуда должно быть возможно использовать CTools 'Зависит от установки зависимостей видимости между полями.Внешний вид формы представлений частично обрабатывается в слое темы (см. views -cted-form.tpl.php ), поэтому, возможно, потребуется больше усилий, чтобы скрыть / показать метки.

...