Tôi tạo ra một chủ đề mới drupal 7 và cố gắng thực hiện hook_theme tại template.php như thế này:Làm thế nào để thực hiện hook_theme trong drupal 7?
function mytheme_theme($existing, $type, $theme, $path){
return array(
'mytheme_header'=>array(
'template'=>'header',
'path'=>$path.'/templates',
'type'=>'theme',
),
);
}
sau đó tôi đặt header.tpl.php vào các mẫu thư mục và xóa tất cả bộ nhớ đệm, và gọi hàm chủ đề:
theme('mytheme_header', $vars);
và header.tpl.php thích này:
<?php
fb('calling header template');//the function of FirePHP to output debug info
print '<div>Header</div>';
//...
tôi kiểm tra Firebug và nó nhận được thông tin 'gọi tiêu đề mẫu', có nghĩa là nó đã được gọi là header.tpl.php, nhưng nó không in mã html. Có gì sai với mã của tôi?
'arguments' được đổi tên để 'biến' trong Drupal 7 – Clive
Cảm ơn. Tôi đã sửa nó. :) –
Nó không phải là vấn đề của các biến. Tôi gỡ lỗi với FirePHP và tôi thấy rằng nó đã được gọi là header.tpl.php nhưng nó đã không in bất kỳ mã html. –