Trước hết bạn phải cung cấp định nghĩa hằng số của joomla (định danh) như sau :
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE',$_SERVER['DOCUMENT_ROOT'].DS. basename(dirname(__DIR__)));
trong đó: JPATH_BASE đại diện cho thư mục gốc của trang web của bạn. Nó phải chính xác.
Sau hơn, bạn phải sử dụng tập tin quan trọng như sau:
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
Sau hơn, bạn phải tạo một đối tượng ứng dụng và khởi tạo nó cũng:
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
[này là không bắt buộc] Nếu bạn muốn nhập một số thư viện khác, thì bạn có thể thực hiện việc này như sau:
jimport('joomla.user.user');
jimport('joomla.session.session');
jimport('joomla.user.authentication');
Vì vậy, công cụ cốt lõi de cho tập tin của bạn như sau:
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE',$_SERVER['DOCUMENT_ROOT'].DS. basename(dirname(__DIR__)));
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
//optional use depend on requirement
jimport('joomla.user.user');
jimport('joomla.session.session');
jimport('joomla.user.authentication');
Nguồn
2013-10-24 07:27:39
Tôi muốn kéo loại chức năng này vào CakePHP. Trang web dựa trên bánh được lưu trữ trên tên miền phụ. Bạn có nghĩ lời khuyên của bạn sẽ áp dụng cho vấn đề của tôi không? – the0ther
Tôi không biết CakePHP và các cơ chế xác thực của nó nhưng tôi nghĩ phương pháp này có thể hoạt động nói chung - miễn là bạn có thể chuyển mã định danh (cookie trong trường hợp của tôi) từ ứng dụng 1 sang ứng dụng 2. không có vấn đề gì khi có một cookie có thể được đọc từ tên miền phụ cũng như từ tên miền chính. –
Xin lỗi cho câu hỏi noob, nhưng tôi giả sử chúng tôi đặt điều này trong một kịch bản PHP, trong thư mục cơ sở Joomla? – Jaryl