2012-03-09 13 views
1

私のJoomlaテンプレートのテンプレートディレクトリに保存できる特定のfunctions.phpファイルを参照する必要があります。 WordPressはこれを含めるようだが、私のような何かをした場合:テンプレートのindex.phpで、その後Joomla 2.5テンプレート 'functions.php'はWordpressに似ています

<?php 
    function displaySomething() { 
      echo "Hello World"; 
} 
?> 

と:

は、関数がのfunctions.phpで

<?php require_once ('functions.php'); ?> 

インクルードファイル:

<?php displaySomething(); ?> 

テンプレートの区切りは空白です。 aguementsのために、私はちょうど単一の参照可能なphpケース関数を持っていると思います。

+1

私はわからないんだけど、それはパスがメインのインデックスファイルから計算されるかもしれない(ないテンプレートの1)、/ 'テンプレートを使用してみてくださいtemplatename/functions.php'(またはそれが最新のJoomlaであれば何でも)。また、error_reporting、btw(Joomlaの設定とサーバの両方)を有効にする –

答えて

3

はこれを試してみてください -

<?php require_once ($this->baseurl.'/templates/'.$this->template.'/functions.php'); ?> 

しかし、チャンスはあなたがそれをこのようにすべきではないということです。一般に、コードを実行するページを選択する機能が削除され、コードが何をしているのかを簡単に編集する機能がなくなるため、テンプレートに何かをハードコードするのは良い考えではありません。

実際には、コードをモジュールまたはプラグインに入れる必要があります。これをモジュールにすることで、コードのページを選択したり、グローバルにオン/オフしたり、出力を簡単に変更することができます。それをプラグインに入れておくと、Joomlaのイベントトリガーの1つに基づいてページに配置し、それをグローバルにオンまたはオフにすることが容易になります。

エクステンションに入れておくのにかかる時間は、十分に価値があります。 (定数JPATH_BASEを使用して)と

+1

+1のためのモジュールの提案 – ChelseaStats

1

試してみてください。

<?php 
#Loading functions 
require_once (
    JPATH_BASE."/templates/{$this->template}/functions.php" 
); 
?> 
関連する問題