Benim form a la sites/all/modules/pecapture/themes/pecapture-displayform.tpl.php tarz almıyor beni neden anlamaya yardımcı
İşte benim kod:
/**
* 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,
),
);
}
Temelde bu tema dosyaları modül / tema klasörü ($ yolu) olduğunu söylüyor
$ Form Drupal şeklidir dizi tema ('pecapture_displayform', $ form) kullanarak adında bir tema fonksiyonu pecapture_displayform ($ form = null) vardır
$ Yolunda bir şablon dosya pecapture_displayform.tpl.php var
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
Bu bloğu görüntülerken, içeriğini oluşturmak fonksiyonu pecapture_displayForm () kullanın diyor. $ Blok php print () ed alır
/**
* Callback for pecapture_theme
*/
function pecapture_displayform() {
return drupal_get_form('pecapture_blockform');
}
Bu (çıkış için) html biçimlendirilmiş drupal formu dizi dönmek diyor
function pecapture_blockform(&$form_state) {
/* the form, standard ... */
Bu tipik form içeriğini olduğunu.
I've tried calling the theme function explicitly in pecapture_displayform:
return theme('pecapture_displayform', $form);
and
return theme('pecapture_displayform', drupal_get_form($form));
Peki neden formu pecapture-displayform.tpl.php geçiyor değil mi?