Làm cách nào để lập trình tiền tố cơ sở dữ liệu Joomla bằng cách sử dụng php?


13

Đôi khi tôi truy cập Joomla DB thông qua các tập lệnh bên ngoài. Vấn đề tôi gặp phải là nếu tôi cần thay đổi tiền tố, tôi cũng sẽ cần chỉnh sửa lại các tập lệnh của mình.

Có cách nào để xác định lập trình tiền tố cơ sở dữ liệu Joomla bằng cách sử dụng php không? Nếu có, làm thế nào?

Câu trả lời:


16

Bạn có thể nhận được tiền tố bằng cách sử dụng như sau:

Đối với Joomla 2.5 sử dụng:

$app = JFactory::getApplication(); 
$prefix = $app->getCfg('dbprefix');

Đối với Joomla 3.2 sử dụng:

$app = JFactory::getApplication(); 
$prefix = $app->get('dbprefix');

Nhưng tài liệu Joomla khuyên bạn không bao giờ sửa đổi tiền tố. Tôi biết một số phần mềm sao lưu cho phép bạn thực hiện thay đổi một phần thông qua khôi phục mặc dù không đánh giá thấp công việc có khả năng liên quan.

Nguồn: http : //docs.j Joomla.org/How_to_determine_your_database_prefix


4
Tài liệu Joomla không có nghĩa là bạn không bao giờ phải sửa đổi db_prefix. Nó chỉ nói không thay đổi giá trị, trong cài đặt cấu hình toàn cầu, vì điều này rõ ràng sẽ phá vỡ trang web - bằng cách mất kết nối với cơ sở dữ liệu. Thay đổi giá trị trong com_config không được coi là thay đổi tiền tố db, vì nó không thực hiện bất kỳ thay đổi nào đối với cơ sở dữ liệu. Tiền tố cơ sở dữ liệu có thể được thay đổi, giả sử ai đó biết anh ta đang làm gì.
FFrewin

4

Nếu bạn đang truy cập Joomla DB thông qua các tập lệnh bên ngoài, có thể bạn không muốn khởi tạo tất cả nội dung j Joomla chỉ để lấy tiền tố cơ sở dữ liệu. Vì vậy, bạn có thể yêu cầu tệp configure.php bên trong tập lệnh của mình, khởi tạo lớp JConfig và lấy dbprefix

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.