絶対的なテーマパスを返すDrupal関数はありますか?それとも、テーマパスを正しく返すこれを行うための標準的な/基本的な練習方法はありますか?
私がこれまでに見つけたのはこれです:
<?php
// @file template.php
$template_path = DRUPAL_ROOT . drupal_get_path('theme', 'foo');
次のように、template.phpファイルのテンプレートパスをrequire_onceしようとしています。
<?php
$template_path = DRUPAL_ROOT . drupal_get_path('theme', 'coo');
// ...
// Check file exists etc
require_once $template_path;
base_path()
関数は、Drupalインストールのベースバスを返します。
DrupalインストールのベースURLパスを返します。少なくとも、これは常にデフォルトで/になります。
そして path_to_theme()
は現在のテーマへのパスを返します。
現在のテーマの要素へのパスを返します。
アクティブなテーマまたはテーマ別の実装を処理するモジュールを指すことができます。たとえば、テーマ呼び出しのスコープ内で呼び出された場合、テーマ関数が処理される場所によって異なります。モジュールから実装されている場合は、モジュールを指します。アクティブなテーマから実装された場合、アクティブなテーマを指します。テーマ呼び出しの範囲外で呼び出されると、常にアクティブなテーマを指します。
Mohammed Shameemの答えは正しいですが、カスタムテンプレートをレンダリングする正しい方法(Drupal way))を本当に探している場合は、include()
またはrequire_once()
。代わりに、Drupalテーマシステムを使用します。すでにテンプレートがあるものの出力を変更するのは簡単です。方法については、 それらの出力を上書きする を参照してくださいテンプレートをオーバーライドするには、テンプレートがまだない場合は、 hook_theme について学習し、独自のテンプレートを登録し、配列をレンダリングする必要があります。
このモジュールを試すことができます: システムストリームラッパー
これはラッパーを提供します(モジュールのサイトの例):
module://file/icons/text-plain.png
theme://bartik/screenshot.png
theme://default/screenshot.png
profile://minimal/minimal.info
profile://current/standard.info(profile:// currentは、サイトのアクティブなプロファイルに展開されます)
library://ckeditor/images/spacer.gif(ライブラリモジュールが有効な場合にのみ機能)