Как передать Заголоко ноды в значение по умолчанию для текстового поля?

Главные вкладки

Аватар пользователя VasyOK VasyOK 27 марта 2014 в 14:32

Как настроить, чтобы для текстового поля в значении по умолчанию
был заголовок ноды?

Пробовал token insert, но наткнулся на такую вот проблему https://drupal.org/node/2070331

Кто нибудь этот модуль использует?
Или можно как-то по другому решить?

Комментарии

Аватар пользователя roman-yrv roman-yrv 27 марта 2014 в 14:41

То есть, есть некая нода, и есть некая форма ввода, у которой есть текстовое поле.
И нужно сделать так, чтобы по умолчанию значение этого поля было равно значению title данной ноды ?

Аватар пользователя VasyOK VasyOK 27 марта 2014 в 15:01

roman-yrv,
То есть, есть некая нода, и есть некая форма ввода, у которой есть текстовое поле.
И нужно сделать так, чтобы по умолчанию значение этого поля было равно значению title данной ноды.
MerryHamster
Плейсхолдер это кажеться совсем другое.

Аватар пользователя voviko voviko 27 марта 2014 в 15:38
<?php
function mymodule_form_MYNODETYPE_node_form_alter(&$form, &$form_state) {
    
$node node_load(arg(1));
    
$form['my_field']['#default_value'] = $node->title;
    return 
$form;
}
?>
Аватар пользователя VasyOK VasyOK 27 марта 2014 в 16:00

Поразмысылив решил представить задачу в ином виде.

Вообще мне надо вывести во вьюхе
мое текстовое поле либо заголовок ноды если это поле пустое
Пока что нашел модулек views_ifempty - но решение не особо красивое.

А можно не писать отдельный модуль для этого а прописать подобный код используя
views custom field
views php
computed field
преписать вывод для поля во вьюхе
?

Аватар пользователя roman-yrv roman-yrv 27 марта 2014 в 16:27

А во Field API нет какого-нибудь хука, который бы отрабатывал на этапе получения значения CCK-поля, чтобы возвращаемое значение можно было заменить своим ?

То есть, если поле - такое-то и сущность - такая-то, а значение - пустое, то пусть значение будет равным полю "title" сущности.

Аватар пользователя drupby drupby 27 марта 2014 в 22:05

"voviko" wrote:

<?php
function mymodule_form_MYNODETYPE_node_form_alter(&$form, &$form_state) {
    $node = node_load(arg(1));
    $form['my_field']['#default_value'] = $node->title;
    return $form;
}
?>

во-первых страница добавления ноды node/add/type ,поэтому arg(1) равен add
во-вторых какой еще node_load , если нода еще не создана

Аватар пользователя voviko voviko 27 марта 2014 в 22:53

"drupby" wrote:
во-первых страница добавления ноды node/add/type ,поэтому arg(1) равен add
во-вторых какой еще node_load , если нода еще не создана

Ну челу надо же вставить ЗАГОЛОВОК, а значит он уже есть. Хотя, код все же не верен.


<?php
function mymodule_form_MYNODETYPE_node_form_alter(&$form, &$form_state) {
    
$form['my_field']['#default_value'] = $form['title']['#default_value'];
    return 
$form;
}
?>

Как то так..

Аватар пользователя drupby drupby 27 марта 2014 в 22:57

"voviko" wrote:
Ну челу надо же вставить ЗАГОЛОВОК

а мне кажется чел не знает , что ему нужно или просто не может объяснить толком задачу

Аватар пользователя voviko voviko 27 марта 2014 в 23:31

"VasyOK" wrote:

Поразмысылив решил представить задачу в ином виде.

Вообще мне надо вывести во вьюхе
мое текстовое поле либо заголовок ноды если это поле пустое


Ну он же нашёлся, так что вот вопрос.