web-dev-qa-db-fra.com

Utilisation de variable globale dans Joomla

J'ai une variable qui a une certaine valeur. J'ai besoin d'obtenir cette valeur de variable à la fois dans l'administrateur et sur le site. Où dois-je placer la variable et comment puis-je l'obtenir dans des composants ou partout?

8
aish

L'administrateur et votre site frontal sont deux sites différents. Pour partager des informations entre eux, vous pouvez utiliser un mécanisme persistant comme ci-dessous.

1) Stockez les informations dans des tables de base de données et accédez-y à l’aide de Joomla Dbo.

https://docs.joomla.org/Accessing_the_database_using_JDatabase

2) Utilisez des cookies pour accéder aux informations en définissant un cookie au niveau racine (/)

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

3) Stocker les informations dans un fichier temporaire et y accéder chaque fois que nécessaire.

https://docs.joomla.org/How_to_use_the_filesystem_package

Notes complémentaires:

Si vous souhaitez partager des informations au sein d'une même application (sur site ou administrateur), vous pouvez le définir sur Application et y accéder sur le même site dans la même demande.

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

Si vous souhaitez accéder à une variable dans les demandes mais dans la même application, vous pouvez utiliser JSession.

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