Drupal 6には非推奨となった関数がDrupal 5(_phptemplate_variables()
)にあります。Drupal 6にも同様の関数はありますか?
まあ、私はあなたが何を意味するのか完全にはわかりませんが、投稿のタイトルによると、リダイレクト機能が必要ですか?
drupal_goto();のようなもの関数?
http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_goto/6
_phptemplate_variables
D5で複数の関数に変更されました。
Drupal前処理関数は、Drupal 5-> Drupal 6から変更され、フックベースにするようになりました。 Drupal 6は、さまざまなフックに対して呼び出すことができる単一の関数を持ち、モジュールでのフックの使用方法と同様の命名システムを使用します。
これはDrupal.orgで詳しく説明されています: 5.xテーマを6.xに変換する
_phptemplate_variables()
は廃止された関数ではありません。これは、もはや使用されていない単なるプライベート関数です。
Drupal 5 PHPTemplateエンジンは、テンプレートで使用される変数を変更するために、その名前の関数を探しました。
_function _phptemplate_callback($hook, $variables = array(), $suggestions = array()) {
global $theme_engine;
$variables = array_merge($variables, _phptemplate_default_variables($hook, $variables));
// Allow specified variables to be overridden
$variables_function = '_'. $theme_engine .'_variables';
if (function_exists($variables_function)) {
$variables = array_merge($variables, call_user_func($variables_function, $hook, $variables));
// …
}
// …
}
_
Drupal 6のコードで必要なことは、MODULE_preprocess(&$variables)
またはMODULE_preprocess_HOOK(&$variables)
を実装することです(ここで、HOOK
はpage
、node
、comment
、またはテーマまたはモジュールから定義された任意の値)。
function phptemplate_preprocess_page(&$variables) {
if (isset($variables['node'])) {
$variables['template_files'][] = 'page-' . str_replace('_', '-', $variables['node']->type);
}
return $variables;
}