Передать значение поля ноды в поле формы связи Drupal 7

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

Аватар пользователя Simfmed Simfmed 15 августа 2018 в 17:15

Здравствуйте. Есть тип материала "Клиника" и форма записи на прием, которая выводится боком в каждой ноде. Как можно передать значения поля ноды в форму для организации функционала записи на прием в клинику. Передать необходимо поле с названием термина таксономии (название клиники).

Использование токенов типа [current-page:query:?], где ? - это программное имя поля не работает, я так понимаю по тому, что используется в качестве ключевой страницы не нода, а именно страница формы, хоть она и в блоке.

Комментарии

Аватар пользователя OldWarrior OldWarrior 15 августа 2018 в 17:37

Предустанавливать значение поля формы при загрузке страницы.
То есть, в hook_form_alter этой формы сделать примерно следующее:

1. проверить menu_get_object()

2. если вернулась нода, то примерно так:

<?php
$my_field_items 
field_get_items('node'$node'field_my_field');
$field_value $my_field_items[0]['value'];
(
или $field_value $my_field_items[0]['target_id'];)
?>

Результат - tid термина.

3. Название (если нужно именно название термина) можно получить так:

<?php
$term 
taxonomy_term_load($field_value);
$term_name $term->name;
?>

4. В нужном поле формы поставить '#default_value' = $term_name

5. Bingo.

Аватар пользователя Simfmed Simfmed 15 августа 2018 в 18:23

Если честно я не силен в PHP. Если не затруднит, объясните пожалуйста где и как это все прописывать и делать.

Аватар пользователя OldWarrior OldWarrior 15 августа 2018 в 18:48

Simfmed wrote:

объясните пожалуйста где и как это все прописывать и делать

Модуль свой писать. В Сети много примеров, как создать модуль для Drupal 7.
Фактически, вся обработка умещается в одном хуке hook_form_alter