2016-07-26 5 views
1

훅을 포함한 오류 : hookActionProductSave 후크가 호출 PrestaShop 버전 hookActionProductSave에서 파일이 후크 사용하여, 나는 PrestaShop 버전의 후크 (1.7)을 만들려고 해요

을, 그러나 나는 다음과 같은 오류 얻을 : 양식 업데이트 오류

내가 가진 전부, 그리고 나는이 같은 일부 파일을 포함했기 때문에 그것이 보았다 만 작동하는 다른 후크에서

require("controllers/admin/classes/error.class.php"); 

, 예를 hookDisplayFooter 및 hookActionPaymentConfirmation에 대한, 제품을 저장하지 말고 ... 나는 많은 것을 시도해 보았습니다. 경로를 변경하고, 전체 경로를 가지며, 실제로 많은 일을했습니다. 나는이 문제의 원인을 파악할 수 없습니다.

누구나 문제의 원인을 파악하고 어떻게 해결할 수 있습니까? 도와 주셔서 감사합니다, 고마워요! :)

여기 코드의 비트입니다 (내가 메일 기능을 사용 습관을 알고, 그냥 테스트입니다) :

public function hookActionProductSave($params) 
    { 
     require("controllers/admin/classes/error.class.php"); 
     require("controllers/admin/classes/prestashop.general.php"); 

     $to  = '[email protected]'; 
     $subject = 'Teste'; 
     $message = print_r($params, true); 

     $headers = 'From: [email protected]' . "\r\n" . 
      'Reply-To: [email protected]' . "\r\n" . 
      'X-Mailer: PHP/' . phpversion(); 

     mail($to, $subject, $message, $headers); 

     $functions = new General(); 
     $functions->productCreate($params); 
     return true; 
    } 

답변

0

변경 require_once에 의해 require. 제품을 저장하면 대부분 관리에 들어갑니다. 따라서이 파일 controllers/admin/classes/error.class.php이 이미로드되었을 수 있습니다.

require을 사용하면 두 번째로로드하려고하므로 PHP는 이것을 허용하지 않습니다. 당신이 require_once를 사용해야이 오류를 방지하려면

public function hookActionProductSave($params) 
{ 
    require_once("controllers/admin/classes/error.class.php"); 
    require_once("controllers/admin/classes/prestashop.general.php"); 

    $to  = '[email protected]'; 
    $subject = 'Teste'; 
    $message = print_r($params, true); 

    $headers = 'From: [email protected]' . "\r\n" . 
       'Reply-To: [email protected]' . "\r\n" . 
       'X-Mailer: PHP/' . phpversion(); 

    mail($to, $subject, $message, $headers); 

    $functions = new General(); 
    $fuctions->productCreate($params); 
    return true; 
} 
+0

간단하고 효율적인은, 바로 문제를 해결 응답에 대한 감사합니다! :디 – RetronWarz

관련 문제