Создал кастомное поле Code field, добавил в отображение ноды.
Надо ограничить к этому полю доступ только для выделенных ролей, поскольку поле содержит ссылку на добавление нового материала.
Установил Field Permissions, но он работает только с стандартными полями и не признает полей Display Suite.
Какие варианты есть еще?
Комментарии
There's two options:
- either implement hook_entity_view_alter in a custom module and change the access yourself
- wait for the 7.x-2.x branch which has a feature request for this, see #1463838: Implement hook_field_access() for DS fields
DS только формирует вывод полей и никаких "полей Display Suite" не может быть. Если права в Field Permissions выставлены правильно - Ваше поле не будет выводиться для тех кому видеть его нельзя.
Зайдите, как Аноним и проверьте.
p.s. Только сейчас проверил у себя - все так, как я и сказал.
/admin/structure/ds/fields
Add a code field
Я про эти поля. Они могут быть, и они есть.
И вот их то как раз и надо.
Но выше мне ответили, что такая фича в разработке, появится в версии 2 модуля Display Suite для семерки.
Буду думать над другим вариантом реализации - нужно добавить поле, содержащее html и обрабатывающее токены.
Да шо вы такое говорите? Таки в Display Suite есть например такая вещь как Display Suite code field.
По сути задачи - наиболее простой с моей точки зрения способ - альтерить в кастомном модуле вывод, и на этом этапе разрешать или запрещать.
Пробовал вложить html в обычное текстовое поле, задал значение по умолчанию. Не помогло. Надо вводить значения.
Включил модуль Link (7.x-1.0 Определяет простые типы полей для ссылок.) - тоже не помогло. Надо вводить.
А в моей задаче в поле вводить не надо значение, нужно его просто вывести с подменой токенов.
Вот пример:
<ul class="action-links"><li><a href="/node/add/competition-stage/[node:nid]?destination=[node:url:path]">Добавить этап соревнования</a></li></ul>
Такое поле надо просто выводить, его не надо редактировать или вписывать каждый раз при создании новой ноды.
Какие еще известны варианты?
Фиксить темплейт ноды - не предлагать. Поле выводится в табе, который формируется Display Suite + Fieldgroup.
UPDATE: Все же пока остановился на модуле Link с введенным значением по умолчанию для каждого типа ноды.