我是Drupal新手,嘗試創建一個主題功能,爲我的視頻創建一個小小的iframe。我在我的菜單回調函數中調用該函數。問題是沒有調用主題函數。我嘗試在主題函數的開始追加模塊名稱,並且也刪除了它,但沒有幫助。每次我進行更改,使回溯我devel的模塊時清除緩存和我看到下面的警告:Drupal主題功能不叫?
警告:call_user_func_array()預計參數1是一個有效的 回調函數「mymodule_mobile_mymodue_mobile_build_iframe」不 在call_user_func_array()中找到或無效的函數名稱( /var/www/includes/theme.inc中的第656行)。 =>
function my_callback_function(){
$output = theme('mymodule_mobile_build_iframe',array(
'arg1'=> $stream,
'arg2'=> $node->nid,)
);
return $output
}
function mymodule_mobile_theme(){
return array(
'mymodule_mobile_build_iframe' => array(
'arguments' => array(
'arg1' => NULL,
'arg2' => NULL,),),);
}
function theme_mymodule_mobile_build_iframe($arg1,$arg2){
$host = 'http://www.myhost.com';
$output = '<video width="320" height="240" controls="controls"> <source src=
"'.$host.'/'.$arg1.'/'.$arg2.'/playlist.m3u8" type="video/mp4" />
Your browser does not support the video tag.
</video>';
return $output;
}
謝謝大家提前!
是的我已經清除了緩存,實際上我已經在devel模塊中檢查了它是自動的。我不得不提到,我使用的模板文件只包含print $內容,沒有條件或任何內容。它怎麼說這個功能沒有找到? – jax