Приветствую.
Есть форма atata_form, её надо поместить в ноды, вместе с основными полями, но не через блок. Но так, чтобы не переписывать *.tpl.php и вообще не трогать шаблон.
Что-то вроде Entityform самопального.
Думается мне, что самый нормальный способ - это сделать эту форму полем (вопрос 1), и это поле как-то привязать к ноде на вывод (вопрос 2).
Версия Drupal:
7.x
Вопрос задан 10.08.2015 - 06:46
Ответы
Если без полей, то как-то так:
function MODULE_node_view($node, $view_mode, $langcode) {
if ($node->type == 'TYPE') {
$node->content['atata_form'] = drupal_get_form('atata_form');
}
}
Можно сделать доп. полем (hook_field_extra_fields), чтобы управлять положением через настройки отображения:
http://xandeadx.ru/blog/drupal/615
Ответ дан 10.08.2015 - 09:27
Точно, а я всё на preprocess зарился, там-то никак.
Интересно, а можно сделать такое псевдо-поле, доступное для всех сущностей
На препроцессе сможете только задать содержимое, как и в MODULE_node_view.
Я думаю в цикле для каждой массив генерировать.
Как в восьмерке:
В цикле перебираются типы нод и для каждой генерируется массив.
Правда, это, кажется, для поля тайтл в форму, но идею вы поняли :-)
О нем и речь :-)
Добавлю пояснение в ответ.