it-swarm-ja.com

カスタムテーマのテンプレートファイルで使用する正しい画像パス

カスタムテーマを作成しています。テーマのフォルダーの下に、いくつかの写真を入れたimagesフォルダーがあります。 HTML .tpl.phpタグを使用してさまざまなテンプレート(<img>)ファイルでこれらの画像を使用したいのですが、問題は、これらの画像(src属性)の正しいパスを取得する方法ですか?

しばらく検索しましたが、解決策はありませんでした。助けてください。

編集:ニースのURL(http://mydrupalsite.com/a/b/c/d)を使用しています-URLを入力してください。したがって、イメージsrc/(または任意の相対パス)で始まる場合、イメージは壊れます。

7
Shafiul

これらの関数はテンプレートで役立つと思います:

_print base_path() . path_to_theme();
_

path_to_theme() 現在のテーマ要素へのパスを返します。 base_path() Drupalインストールの基本パス。

たとえば、imagesというテンプレートディレクトリのgarlandディレクトリ内に_bg-bar.png_というイメージがあります。次に、base_path()およびpath_to_theme()を使用して、たとえばnode.tpl.php内の画像へのパスを取得できます。

_print '<img src="'.base_path() . path_to_theme() .'/images/bg-bar.png">';
_

Update:現在のドメインを使用する場合は、_global $base_root_を使用できます。

_  $address = ''.base_path() . path_to_theme() .'/images/bg-bar.png';
  global $base_root;
  echo '<img src="' . $base_root . $address . '">';
_

情報がお役に立てば幸いです。

14
cigotete

私の画像は条件付きブロックに含まれていたため、上記の構文はいくつかの問題を引き起こし、以下がうまくいきました。ただし、メンテナンスの観点から推奨されるかどうかはわかりません。

src='<?php print base_path().path_to_theme().'/images/iphone.png' ?>'
0
dd263