Помогите мне понять, почему моя форма не разрабатывается в стиле sites / all / modules / pecapture / themes / pecapture-displayform.tpl.php
Вот мой код:
/**
* Implementation of hook_theme()
*/
function pecapture_theme() {
$path = drupal_get_path('module', 'pecapture') . '/theme';
return array(
'pecapture_displayform' => array(
'arguments' => array('form' => NULL),
'template' => 'pecapture-displayform',
'path' => $path,
),
);
}
В основном это говорит о том, что файлы тем находятся в папке module / theme ($ path)
Существует функция темы pecapture_displayform ($ form = NULL), вызываемая с помощью theme ('pecapture_displayform', $ form), где $ form является массивом форм Drupal
Файл $ pecapture_displayform.tpl.php находится в $ path
function pecapture_block($op = 'list', $delta = 0, $edit = array()) {
$block = array();
if ($op == "list") { // Generate listing of blocks from this module, for the admin/block page
$block[0]["info"] = t('Persistent E-mail Capture Form Block');
}
else /* if ($op == 'view') */ { // Generate our block content
$block['subject'] = ''; //'Persistent E-mail Capture Form';
$block['content'] = pecapture_displayForm();
}
return $block;
} // function pecapture_block
Это говорит о том, что при просмотре блока используйте функцию pecapture_displayForm () для генерации содержимого. $ block получает php print () ed
/**
* Callback for pecapture_theme
*/
function pecapture_displayform() {
return drupal_get_form('pecapture_blockform');
}
Это говорит о том, что возвращаем отформатированный в HTML массив drupal формы (для вывода)
function pecapture_blockform(&$form_state) {
/* the form, standard ... */
Это содержимое формы, оно типичное.
Я попытался явно вызвать функцию темы в pecapture_displayform:
return theme('pecapture_displayform', $form);
и
return theme('pecapture_displayform', drupal_get_form($form));
Так почему же форма не проходит через pecapture-displayform.tpl.php?