Sử dụng biến toàn cục trong Joomla


8

Tôi có một biến giữ một số giá trị. Tôi cần nhận được giá trị biến này cả trong quản trị viên và trang web. Tôi nên đặt biến ở đâu và làm thế nào tôi có thể lấy biến trong các thành phần hoặc ở mọi nơi?

Câu trả lời:


9

Quản trị viên và trang web mặt trước của bạn là hai trang web khác nhau. Để chia sẻ thông tin giữa họ, bạn có thể sử dụng một số cơ chế liên tục như dưới đây.

1) Lưu trữ thông tin trong các bảng cơ sở dữ liệu và truy cập bằng Joomla Dbo.

https://docs.j Joomla.org/Accessing_the_database_USE_JDatabase

2) Sử dụng cookie để truy cập thông tin bằng cách đặt cookie ở cấp gốc (/)

$cookies = JFactory::getApplication()->input->cookie;
$cookies->set($name, $value, $expire, '/');

3) Lưu trữ thông tin trong tập tin tạm thời và truy cập nó bất cứ khi nào cần thiết.

https://docs.j Joomla.org/How_to_use_the_filesystem_package

Ghi chú bổ sung:

Nếu bạn muốn chia sẻ bất kỳ thông tin nào trong cùng một ứng dụng (trên trang web hoặc quản trị viên), bạn có thể đặt thông tin đó vào Ứng dụng và truy cập nó trong cùng một trang web trong cùng một yêu cầu.

$app = JFactory::getApplication();
$app->set('some_variable', 'some_value');
...
$someValue = $app->get('some_variable');

Nếu bạn muốn truy cập một biến qua các yêu cầu nhưng trong cùng một ứng dụng, bạn có thể sử dụng JSession

$session = JFactory::getSession();
$session->set('some_variable', "some_value");
...
echo $session->get('some_variable');

1
Tùy thuộc vào loại giá trị nào, nó có thể được tạo thành một tham số mở rộng được lưu trữ trong cơ sở dữ liệu. Bằng cách này, việc lưu / truy cập cơ sở dữ liệu được Joomla chăm sóc :)
Bakual
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.