Использование глобальной переменной в Joomla

8

У меня есть переменная, которая содержит некоторое значение. Мне нужно получить значение этой переменной как в администраторе, так и на сайте. Где я должен разместить переменную и как я могу получить переменную в компонентах или везде?

Айш
источник

Ответы:

9

Администратор и ваш интерфейсный сайт - это два разных сайта. Для обмена информацией между ними вы можете использовать какой-то постоянный механизм, как показано ниже.

1) Хранить информацию в таблицах базы данных и получать доступ с помощью Joomla Dbo.

https://docs.joomla.org/Accessing_the_database_using_JDatabase

2) Используйте куки для доступа к информации, установив куки на корневом уровне (/)

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

3) Храните информацию во временном файле и обращайтесь к ней везде, где это необходимо.

https://docs.joomla.org/How_to_use_the_filesystem_package

Дополнительные замечания:

Если вы хотите поделиться какой-либо информацией в одном приложении (на сайте или с администратором), вы можете установить для нее значение «Приложение» и получить доступ к нему на том же сайте по тому же запросу.

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

Если вы хотите получить доступ к переменной через запросы, но в пределах одного приложения, вы можете использовать JSession

$session = JFactory::getSession();
$session->set('some_variable', "some_value");
...
echo $session->get('some_variable');
Nagarjun
источник
1
В зависимости от того, какое это значение, можно сделать параметр расширения, который хранится в базе данных. Таким образом Joomla позаботится о сохранении / запросе базы данных :)
Bakual