2016-11-06 2 views
0

Я пытаюсь внести некоторые очень простые изменения в устаревший проект Drupal 7, но ничего не сделал с Drupal в течение нескольких лет, я застрял на том, что вероятно, довольно простая проблема.drupal 7 как добавить новые поля и получить доступ к ним в настраиваемом модуле form_alter function

Я пытаюсь добавить некоторые дополнительные поля в форму в пользовательском модуле.

Я добавил новые поля с помощью администратора:

Главная »Администрация» Структура »Типы контента» MyType

Теперь я хочу, чтобы иметь возможность использовать их в пользовательской форме модуля alter function

fuction ..._form_alter(&$form, &$form_state) {} 

Когда я пытаюсь сбросить содержимое переменной $ form, я могу видеть pre но я не вижу ни одного из новых полей, которые я добавил.

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

+0

вы очистили бутстрап и кэш реестра? – Fky

ответ

1

Во-первых, обеспечить, чтобы все кэша были очищены (bootsrap, веб-форма, реестр)

определение Hook позволяют проверить $ form_id поэтому убедитесь, что вы демпингом правильной формы

yourmodulename_form_alter(&$form, &$form_state, $form_id){ 
    dsm($form_id); // or var_dump($form_id) if you don't have devel module 
} 

или сразу сделать условие:

yourmodulename_form_alter(&$form, &$form_state, $form_id){ 
    if($form_id == 'myformid') dsm($form); // or var_dump($form) if you don't have devel module 
} 

И если у вас есть дополнительная информация, добавьте его в сообщение

+0

Большое спасибо за ваши предложения! Кэширование - это то, о чем я не думал. Я просмотрю ваш список и вернусь, как только я попробую их. – Finglish

+0

Еще раз спасибо. В конце концов мне нужны обе точки. Во-первых, существовали две формы с похожими именами, поэтому я изменил неверный. Во-вторых, мне нужно было очистить кеш, чтобы увидеть новые поля. – Finglish

+0

Добро пожаловать @Finglish :) – Fky

Смежные вопросы