Joomla 2.5 でさまざまなタイプのユーザーに合わせてコンテンツを調整するために、メンバーのアクセス レベルの検証に使用する予定の関数を含むファイルをテンプレートに含めようとしています。問題は、標準の PHP の include ステートメントを使用したにもかかわらず、どの関数もテンプレートで使用できないように見えることです。代わりに関数を呼び出すと、テンプレートを使用しているすべてのページがクラッシュします。機能しているテンプレートの先頭に関数をハードコーディングすることもできますが、Web アプリケーションの他の場所でいくつかの関数を使用する計画もあるため、それらをインクルード ファイルに保存することは理にかなっています。なぜ関数がインクルードから機能しないのか、テンプレートの上部に追加すると機能するのかについて、誰かが洞察を持っていますか? 以下は、include ステートメントを含む私のテンプレートの上部の数行です。
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
JHtml::_('behavior.framework', true);
include ("/includes/checkAccess.php");
テンプレートにハードコードされている場合、関数はすべて正常に機能することに注意してください。したがって、インクルードには間違いなく問題があります。また、上記のインクルード行が追加された場合、テンプレートに含まれる関数のいずれかが呼び出されない限り、テンプレートは正常に機能するため、上記のインクルード パスは正しいように見えます。