6
votes

Variables de session à OpenCart

Quelqu'un peut-il expliquer lorsque des variables de session sont détenues?

J'ai ajouté des variables de session dans Header.php dans le contrôleur, par exemple: p>

$this->session->data['day']=date("d",strtotime($row['startdate']));


2 commentaires

Essayez peut-être le catalogue / les langues / en.php ou quelque chose comme ça? Catalogue / Contrôleur / Langues / EN.PHP. Je suis dehors alors je ne peux pas vérifier juste maintenant


Peter. Je pense que vous pouvez être proche de celui-là, mais anglais.php n'est pas le fichier. Si vous avez du temps plus tard, je l'apprécierais. Merci


5 Réponses :


13
votes

Les valeurs de session ne sont pas définies dans un fichier. Si vous souhaitez définir une variable de session, utilisez xxx pré>

et pour récupérer la valeur que vous venez d'accéder à p> xxx pré>

par exemple, pour l'écho Utilisez P>

echo $this->session->data['variable_name_here'];


3 commentaires

Merci, mais ma question est de savoir quel fichier sont ces variables détenues; ([LANGUE] => EN [Devise] => USD [Panier] => Array ()) Je mets ceci; $ this-> session-> données ["jour"] = date ("d", strtotime ($ ligne [startda te '])); Dans Header.php, qui fonctionne bien lorsque vous chargez le site, mais les variables disparaissent de la session lorsque vous cliquez sur un produit.


Header.php est chargé pour chaque page, ce qui n'est pas possible pour que les variables disparaissent, à moins que vous ne les aies faites de manière étrange. Notez que les données $>> sont localisées, donc elle n'est pas passée de l'en-tête au modèle de produit.


Si je reçois votre question, alors vous êtes loin d'obtenir une réponse, le panier est un ensemble de classe final dans System / Bibliothèque / Cart.php La langue et la monnaie sont extraites de la DB toutes les personnes nécessaires, et à la manière N'utilisez pas de $ ceci (ceci est idiot) Ceci renvoie un pointeur sur la classe que vous êtes dans Wich est hérité de la classe contrôleur du fichier contrôleur.php Faites un look plus près de la façon dont il fonctionne que vous saurez quoi faire,



1
votes

Je pense que je pense que je suis un peu tard, mais la classe principale qui gère les sessions se trouve dans le système / la bibliothèque / session.php, qui ont une variable publique $ Data et gérant le $ _Session dans le constructeur. Alors, que jamais vous avez mis en $ ceci-> Session-> Data Fusionner.

J'espère que ce sera bénéfique.

merci


0 commentaires

0
votes

/system/library/customer.php contient des données $ CIS-> Session-> Data ['Customer_id'];


0 commentaires

2
votes

Ici, je sauvegarderais ici les variables en une session: xxx pré>

maintenant dans catalogue / contrôleur / commande / checkout / guest.php code> at index code > Contrôle de la méthode pour ces variables de session et si définis, stockez la valeur dans le $ ceci-> Data ​​Code> Array pour présenter au modèle: P>

<?php if(isset($guest_name)) { ?>
<div><?php echo $guest_name . ' - ' . $guest_address; ?></div>
<?php } ?>


0 commentaires

2
votes

Il n'y a pas de fichier qui détenait les variables de session. Ouvrir la session de panier est créée en utilisant "System / bibliothèque / session.php". Vous pouvez créer une session comme celle-ci dans Ouvrir Panier.

<?php
     echo $this->session->data['session_name'];
?>


0 commentaires