2015-02-23 196 views
1

我正在構建一個Joomla! 3.3.6網站,我想把它製作成一個工具。 我知道有很多插件可以讓我在Joomla!的模塊中編寫PHP或JavaScript,但是這個工具使用dompdf庫,並且有很多.js和.php文件,所以它可能非常困難(如果不是不可能)以這種方式進行整合。Joomla中的PHP頁面! 3.x

所以我需要把它放在一個目錄中,並給他與Joomla的其他部分相同的訪問限制和用戶控制!網站。我需要在這些頁面中添加一個代碼,用於檢查用戶是否已登錄,並在這種情況下使用用戶的用戶名/用戶名。經過一些操作後,頁面需要將信息保存在Joomla!的數據庫中,用戶的表格中(使用用戶ID作爲參考)。

我發現這個腳本,應該做的工作:

<?php 
    define('_JEXEC', 1); 
    define('JPATH_BASE', __DIR__); 
    require_once (JPATH_BASE .'/includes/defines.php'); 
    require_once (JPATH_BASE .'/includes/framework.php'); 
    $app = JFactory::getApplication('site'); 
    $db = JFactory::getDbo(); 
    $user = JFactory::getUser(); 
    $profile = JUserHelper::getProfile($user->id); 
?> 

但添加

require_once (JPATH_BASE .'/includes/defines.php'); 
require_once (JPATH_BASE .'/includes/framework.php'); 

導致頁面加載空白。

有沒有辦法做到我需要或沒有?

回答

1

這只是表示JPATH_BASE沒有被正確定義。空白頁面意味着您的頁面存在錯誤,但您需要啓用錯誤報告。

嘗試修改此:

define('JPATH_BASE', __DIR__); 

這樣:

define('JPATH_BASE', realpath(dirname(__FILE__).'/..')); 
+0

謝謝您的回答。 我嘗試應用您的更改並啓用了錯誤報告(error_reporting(-1);)但我現在得到的唯一錯誤是: 「無法加載資源:服務器響應的狀態爲500 (內部服務器錯誤)「在瀏覽器控制檯中。 如果它可以幫助.php文件,我想把代碼放在Joomla!的根目錄(web/curriculum/myfile.php)的子目錄中。 – 2015-02-23 11:46:18

+0

**是Joomla根目錄中的'web'目錄,或者是Joomla根目錄的目錄 – Lodder 2015-02-23 11:52:24

+0

它是Joomla根目錄。 – 2015-02-23 13:02:12