私は。tpl.phpファイルにこの種のコードを記述して、画像を表示するために使用しています(たとえば)。
<?php echo $base_url .'/'. path_to_theme();?>
$ base_urlとpath_to_theme()を単一のコマンド/変数に連結することは可能でしょうか?
hook_preprocess($vars)
で$ varsに_path_to_theme
_という名前の新しい変数を作成します。以下を含めます(_$hook
_はページ、ノード、ブロックなど)。
_function mymodule_preprocess(&$vars, $hook) {
$vars['path_to_theme'] = base_path().path_to_theme();
}
_
これで、ほぼすべてのテーマのテンプレートで変数_$path_to_theme
_を使用でき、base_path().path_to_theme()
の内容になります
これをカスタムモジュールに入れるか、mymodule
をテーマの名前に置き換えて、テーマの_template.php
_に配置できることに注意してください。
この変数をサイトの特定のコンテンツにのみ追加する場合は、 ノード 、ページ、およびその他の「フック」固有の前処理関数を使用できます。
ノード、ページなどを前処理するための多くのオプションがあります: テンプレートで使用する変数の設定(前処理および処理関数)
また、次のような デフォルトのベースライン変数 も必ずお読みください。
$ directoryベースインストールに関連するテーマのパス。例:「sites/all/themes/myTheme」
テーマのtemplate.phpファイルのtheme_preprocess_node()またはtheme_preprocess_page()を使用して、そこに連結パスを作成し、テンプレートファイルからアクセスできるようにすることができます。
function yourthemename_preprocess_node(&$vars) {
$vars['theme_path'] = base_path() . path_to_theme();
}
function yourthemename_preprocess_page(&$vars) {
$vars['theme_path'] = base_path() . path_to_theme();
}
次に、テンプレートファイルで$ theme_pathを常に使用できます。