2017-08-21 5 views
0

J'ai créé un module personnalisé 'sample'. J'ai créé le 'user_login' hook.Je veux appeler une fonction 'calltype' dans le hook user_login mais la fonction n'est pas appelée. Cookie est créé Si Je Recopiez le code de la fonction callType après la ligne $anivpopup = '1'; en crochet user_loginappeler une fonction dans un crochet

function sample_user_login(&$edit, $account){ 
$anivpopup = '1'; 
callType(); 
} 
function callType(){ 
$anivpopup =1; 
if($anivpopup == '1'){ 
    setcookie('test', '2', time()+3600); //cookie set for 1 hr 
} 
} 
+0

? Pourquoi ne pas envoyer '$ anivpopup' à la fonction' callType() '??? – 2pha

+0

Reproduction possible de [Référence: Qu'est-ce que la portée variable, quelles sont les variables accessibles depuis où et quelles sont les erreurs "variable indéfinie"?] (Https://stackoverflow.com/questions/16959576/reference-what-is-variable-scope -which-variables-are-accessible-de-where-et) – 2pha

+0

noo besoin de passer le value.check ma mise à jour post.just donné un exemple de code – user3386779

Répondre

0

essayez ceci:

function sample_user_login(&$edit, $account){ 
    if(function_exists('callType'){ 
    callType(); 
    }else{ 
    die('Function callType does not declared'); 
    } 
} 

vous devez savoir, la mise en œuvre de crochet Drupal est dans le cache ainsi, sur chaque modification apportée vous avez pour effacer le cache du registre

0

Essayez ceci.

function sample_user_login(&$edit, $account){ 
$anivpopup = '1'; 
callType($anivpopup); 
} 

function callType($anivpopup){ 
if($anivpopup == '1'){ 
    setcookie('test', '2', time()+3600); //cookie set for 1 hr 
} 
} 

Espérons que cela vous aide.