質問: 'this is custom module'; return theme('custom', $setvar); } 私はテーマ機能を追加しましたが、機能していません、誰でもこのコードの何が問題になっているのかを示唆できますかfunction theme_custom($arg) { return $arg['output']; } function custom_theme() { return array( 'bluemarine' => array( 'variables' => 'output', 'template' => 'bluemarine', ), ); }
回答: 間違ったテーマ関数を呼び出しています。 function theme_customの代わりにfunction theme_bluemarineにする必要があります。 hook_theme() の変数に配列を渡す必要もあります。簡単な例 here を参照してください。あなたの例を使用する(テンプレートとテーマ関数をcustomに変更した後):function custom_menu(){ $items = array(); $items['custom'] = array( 'title' => t('custom!'), 'page callback' => 'custom_page', 'access arguments' => array('access content'), 'type' => menu_callback, ); return $items; } function custom_page() { $setvar = 'this is custom module'; return theme('custom', array('output' => $setvar)); } function custom_theme() { $path = drupal_get_path('module', 'custom'); return array( 'custom' => array( 'variables' => array('output' => null), 'template' => 'custom', ), ); } 今度はcustom.tpl.phpに<?php print $output; ?>が必要です