page.tpl.phpやtemplate.phpなどで使用する以下の関数についての注意
以下の説明は言語設定のプレフィックスを日本語は「ja」英語は「en」にした場合

pict-drupal.png また、以下の説明はサイトのベースはApacheのDocumentRootの下にdrupalというディレクトリを作ってそこをDrupalのベースにしている場合に基づいたもの。

url()
 日本語サイトの場合は「/drupal/ja」
 英語サイトの場合は「/drupal/en」

base_path()
 言語に関係なく「/drupal/」

path_to_theme()
 言語に関係なく「sites/all/themes/(テーマディレクトリ名)」

従って、page.tpl.phpやtemplate.phpでアンカータグを使う場合にはurl()を使用し、テーマディレクトリやアップロードしたイメージデータなの言語に関係ない共通のファイルを指すパスを構築する場合にはbase_path()を使う必要がある。

ちなみに、以下のglobalはDrupalのCoreで使われているがテーマやモジュールではあてにしない方がよい。page.tpl.php中にて参照した結果は以下の通り。
$base_path
これは常にbase_path()と同じ値を返す「/drupal/」
$base_url
$base_root
$theme_path
空 - path_to_theme()を使うべし!

 

No votes yet