Jump to content

OrderController.php, fonction et initialisation


Recommended Posts

bonjour à toutes et à tous.

Je me permets de venir vers vous à la recherche d'une info concernant le fichier OrderController qui se trouve dans Controllers > Front > OrderController.php

 

Je reprends le développement d'une adapation du code source, mais je butte sur un problème.

En fait je voudrais savoir à quel moment le fichier orderController.php est appelé, le précédent développeur à ajouter une nouvelle méthode à la classe permettant de générer un fichier json à partir du catalogue et dans ce fichier dans la function initContent() il me semble que le fichier doit être généré ?

 

:(

 

 

Dans mon fichier OrderController

 
class OrderControllerCore extends ParentOrderController
       {
       ...
       
       // dans la construction de cette classe il y a une fonction homemade qui à pour but de générer un fichier json pour une utilisation de panier virtuel avec tout mon catalogue
 

       public function generateBDCCache($collection_id = 0)
                {
 
                $tabzor =  array();
 
                ...
 
                // construction d'un fichier json à partir d'un tableau
                file_put_contents('cache_bdc_'.$collection_id.'.php', json_encode($tabzor));
                
                }
 
...
      }

             
 
// puis après j'ai l'appel à la génération de ce fichier 
 

public function initContent()
{
global $isVirtualCart;
parent::initContent();
 
if (Tools::getValue('bdc') == 1)
{ 
$this->generateBDCCache(11);
$this->generateBDCCache(12);
$this->generateBDCCache(13);
}
$tabzor = json_decode(file_get_contents('cache_bdc_69.php'),true);
 
...
 
}

              
 

Ce que je ne saisi pas c'est à quel moment est appelé initContent ? 

A quel moment se fait donc la construction de mon fichier json ??

 

Je suis désolée je sais que ce n'est pas très clair, mais je n'arrive pas à comprendre à quel moment mon fichier json peut être généré.

 

Merci beaucoup si vous pouvez m'aiguiller un tout petit peu :)

 

Emilie.

 

Link to comment
Share on other sites

Bonjour,

 

C'est pourtant clair

 

init comme initialisation 

content comme contenu

 

cette méthode est donc appelé à l'initialisation du contenu, pour être plus précis elle est appelé après le constructeur, après la méthode init et avant toutes les autres méthodes de votre controller, c'est une méthode qui est appelé automatiquement par le controller principal.

 

En espérant vous avoir aidé ;)

Link to comment
Share on other sites

Bonjour et merci beaucoup pour votre réactivité.

En fait ça me parait à peu près clair et ce que vous me dites confirme mes interrogations.

 

Il y a quelque chose qui m'échappe alors.

 

Au chargement de la page index.php de ma boutique, l'action 

 

$this->generateBDCCache(11); 

 

devrait appeler ma fonction

 

 public function generateBDCCache($collection_id = 0)
                {
                $tabzor =  array();
                ...
                // construction d'un fichier json à partir d'un tableau
                file_put_contents('cache_bdc_'.$collection_id.'.php', json_encode($tabzor));
                
                }
 

 

et ainsi généré un fichier JSON cache_bdc_11.php.

 

Or il ne se passe rien, d'ailleurs le date de mise à jour de ce fichier est le 6 janvier 2014.

J'ai l'impression que ces fichiers ne sont jamais généré.

 

Auriez-vous un idée de ce qu'il peut se passer ?

Merci d'avance.

Emilie.

Link to comment
Share on other sites

Bonjour,

L'appel de votre fonction se fait dans le ordercontroller qui n'est appelé que lorsqu'une commande est générée.
Le ordercontroller n'est donc pas appelé au chargement de votre boutique. Vous avez un fichier qui a été créé le 6 janvier vraisemblablement parce qu'une commande a été créée ce jour là. Depuis vous ne devez pas avoir eu de commande. Voila pourquoi votre function generateBDCCache n'a pas été appelée.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...