Uso da variável global no Joomla

8

Eu tenho uma variável que possui algum valor. Preciso obter esse valor de variável no administrador e no site. Onde devo colocar a variável e como posso obter a variável em componentes ou em qualquer lugar?

aish
fonte

Respostas:

9

Administrador e seu site front-end são dois sites diferentes. Para compartilhar informações entre eles, você pode usar algum mecanismo persistente como abaixo.

1) Armazene informações nas tabelas do banco de dados e acesse usando o Joomla Dbo.

https://docs.joomla.org/Accessing_the_database_using_JDatabase

2) Use cookies para acessar as informações, configurando cookies no nível raiz (/)

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

3) Armazene informações em arquivos temporários e acesse-as sempre que necessário.

https://docs.joomla.org/How_to_use_the_filesystem_package

Notas Adicionais:

Se você deseja compartilhar qualquer informação no mesmo aplicativo (no site ou administrador), é possível configurá-lo como Aplicativo e acessá-lo no mesmo site na mesma solicitação.

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

Se você deseja acessar uma variável entre as solicitações, mas dentro do mesmo aplicativo, pode usar JSession

$session = JFactory::getSession();
$session->set('some_variable', "some_value");
...
echo $session->get('some_variable');
Nagarjun
fonte
11
Dependendo do tipo de valor, pode ser feito um parâmetro de extensão que é armazenado no banco de dados. Desta forma, o datbase poupança / quering é cuidado por Joomla :)
Bakual