カスタム ブロックのテーマを設定するためのカスタム .tpl ファイルを作成する drupal の方法は何ですか? 具体的には、プログラムでブロックを作成し、ビュー コードをモジュール php コードから分離する方法を見つけようとしています。それがページの場合、Drupal の theme() はこれを実現するための非常に効率的な方法です。ただし、カスタム ブロックに対して同じことを行う Drupal の方法がわかりません。hook_theme() を使用しようとしましたが、うまくいきませんでした。
//implementation of hook_block_info
function mymodule_block_info() {
$blocks = array();
$blocks['myblock'] = array(
'info' => t('My Block Title'),
);
return $blocks;
}
//implementation of hook_block_view
function mymodule_block_view($delta='') {
$block = array();
switch($delta) {
case 'myblock' :
$block['content'] = mymodule_get_block_view();
break;
}
return $block;
}
function mymodule_get_block_view(){
$variables=array();
return theme('mytemplate', $variables);
}
//implementation of hook_theme
function codefactory_theme() {
return array(
'mytemplate' => array(
'variables' => array(),
'template' => 'mytemplate',
),
);
}