osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Récupérer $customer_id dans une boxe [Résolu]
equisol
posté 12 Jan 2015, 15:27
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 124
Inscrit : 7-November 07
Lieu : Lyon
Membre no 19668



Bonjour tout l'monde,

Voilà, comme décrit en objet, j'aurais besoin d'utiliser la variable $customer_id dans une boxe que j'ai créée. Bizarrement, lorsque j'appelle la variable, rien ne se passe.
Lorsque je teste la variable dans l'application_top.php, en partant du bas du fichier et en remontant, celle-ci est définie à partir de la ligne 223, juste après ça :
Code
// start the session
  $session_started = false;
  if (SESSION_FORCE_COOKIE_USE == 'True') {
    tep_setcookie('cookie_test', 'please_accept_for_session', time()+60*60*24*30, $cookie_path, $cookie_domain);

    if (isset($HTTP_COOKIE_VARS['cookie_test'])) {
      tep_session_start();
      $session_started = true;
    }
  } elseif (SESSION_BLOCK_SPIDERS == 'True') {
    $user_agent = strtolower(getenv('HTTP_USER_AGENT'));
    $spider_flag = false;

    if (tep_not_null($user_agent)) {
      $spiders = file(DIR_WS_INCLUDES . 'spiders.txt');

      for ($i=0, $n=sizeof($spiders); $i<$n; $i++) {
        if (tep_not_null($spiders[$i])) {
          if (is_integer(strpos($user_agent, trim($spiders[$i])))) {
            $spider_flag = true;
            break;
          }
        }
      }
    }

    if ($spider_flag == false) {
      tep_session_start();
      $session_started = true;
    }
//Test $customer_id
$test = (int)$customer_id;

Ce qui est étonnant, c'est que le fichier qui définit la classe osc_template est appelé 200 ligne plus bas dans l'application_top.

Pourriez-vous m'éclairer sur le sujet ?

Merci et Big Up !

Ce message a été modifié par equisol - 15 Jan 2015, 18:04.


--------------------
Goo69
Go to the top of the page
 
chti_poupon
posté 14 Jan 2015, 22:06
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2744
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Regardes bien la globalité du fichier bm_order... qui utilise $customer_id.
Cette phrase devrait te donner une id pour résoudre globalement ta question.

Bonne devinette !
Chti poupon
Go to the top of the page
 
Gnidhal
posté 15 Jan 2015, 09:58
Message #3


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9219
Inscrit : 4-March 03
Lieu : Auray
Membre no 927



Bonjour,
Il ne faut pas perdre de vue que la variable n'est pas une globale et que si tu veux l'utiliser dans une fonction ou une classe il faudra la globaliser.
Une possibilité serait de mettre dans le application_top un truc du genre :
define('CUSTOMER_ID', 0);
if(isset($customer_id) && $customer_id >0) define('CUSTOMER_ID', $customer_id);
CUSTOMER_ID devient accessible partout et si supérieur à 0 c'est l'id du client.


--------------------
Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues :
Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums.
Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin.

----------------------------- Quelques sites de référence ---------------------------
PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js
Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper
Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien)
Go to the top of the page
 
equisol
posté 15 Jan 2015, 18:04
Message #4


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 124
Inscrit : 7-November 07
Lieu : Lyon
Membre no 19668



Chouette !!!
Citation (chti_poupon @ 14 Jan 2015, 22:06) *
Bonjour
Regardes bien la globalité du fichier bm_order... qui utilise $customer_id.
Cette phrase devrait te donner une id pour résoudre globalement ta question.

Bonne devinette !
Chti poupon

Merci Chti poupon pour ce focus, ça marche nickel ! J'ai ajouté à la commande "global" de la fonction getData la variable $customer_id et le tour est joué !
Mince, qu'est-ce qu'en ai passé du temps là-dessus...

Citation (Gnidhal @ 15 Jan 2015, 09:58) *
Bonjour,
Il ne faut pas perdre de vue que la variable n'est pas une globale et que si tu veux l'utiliser dans une fonction ou une classe il faudra la globaliser.
Une possibilité serait de mettre dans le application_top un truc du genre :
define('CUSTOMER_ID', 0);
if(isset($customer_id) && $customer_id >0) define('CUSTOMER_ID', $customer_id);
CUSTOMER_ID devient accessible partout et si supérieur à 0 c'est l'id du client.

Merci Gnidhal, pas eu besoin d'utiliser ton code, mais ton commentaire est en quelque sorte l'explication de la réponse de Chti poupon

Big Up à vous !


--------------------
Goo69
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 20th November 2017 - 03:25
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)