2012-03-09 87 views
1

我需要引用一個特定的functions.php文件,它可以存儲在我的Joomla模板的模板目錄中。 WordPress的似乎包含這一點,但如果我這樣做:Joomla 2.5模板'functions.php'類似wordpress

包含的功能文件

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

在functions.php中:

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

,然後在模板的index.php:

<?php displaySomething(); ?> 

該模板中斷/爲空。爲了提高性能,我只想擁有一個可引用的php案例函數。

+1

我不知道,但它可能是路徑從主索引文件計算(不模板的一個),請嘗試使用'模板/ templatename/functions.php'(或任何它在最新的Joomla中)。並啓用error_reporting,順便說一句(在Joomla的配置和服務器) – 2012-03-09 15:01:46

回答

3

試試這個 -

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

然而,有機會,你不應該做這種方式。一般來說,將任何內容硬編碼到模板中並不是一個好主意,因爲這會消除選擇希望代碼執行的頁面的能力,並且無法輕鬆編輯代碼正在執行的操作。

你真的應該把你的代碼放在模塊或插件中。將它放在模塊中可以輕鬆選擇想要代碼的頁面,全局打開或關閉它,或者輕鬆更改輸出。將它放在插件中可以很容易地將它放在基於Joomla事件觸發器的頁面上,並在全局範圍內打開或關閉它。

對於需要花費的時間將其轉換爲擴展名,這非常值得。

+1

建議模塊+1 – ChelseaStats 2012-06-15 08:20:53

1

嘗試(使用常量JPATH_BASE):

<?php 
#Loading functions 
require_once (
    JPATH_BASE."/templates/{$this->template}/functions.php" 
); 
?>