2017-02-03 37 views
1

我最近啓用了貝寶Pro服務,現在我設置它爲我的PrestaShop版本1.6.1.1。PrestaShop。設置錯誤的網址爲貝寶

我必須指出的感謝頁面的URL和錯誤頁面。

爲了感謝頁面,我沒有問題,我模擬了購買和通過將佔位複製的URL。

我用這個:

module/paypal/submit?id_cart={id_cart}&id_module=97&id_order={id_order}&key={id_key} 

我發現難通過設置錯誤頁的URL。

在模板/前我注意到,已經有第三方物流此。 和paypal.php我覺得這個功能:

public function displayPayPalAPIError($message, $log = false) 
{ 
    $send = true; 
    // Sanitize log 
    foreach ($log as $key => $string) { 
     if ($string == 'ACK -> Success') { 
      $send = false; 
     } elseif (Tools::substr($string, 0, 6) == 'METHOD') { 
      $values = explode('&', $string); 
      foreach ($values as $key2 => $value) { 
       $values2 = explode('=', $value); 
       foreach ($values2 as $key3 => $value2) { 
        if ($value2 == 'PWD' || $value2 == 'SIGNATURE') { 
         $values2[$key3 + 1] = '*********'; 
        } 
       } 

       $values[$key2] = implode('=', $values2); 
      } 
      $log[$key] = implode('&', $values); 
     } 
    } 

    $this->context->smarty->assign(array('message' => $message, 'logs' => $log)); 

    if ($send) { 
     $id_lang = (int) $this->context->language->id; 
     $iso_lang = Language::getIsoById($id_lang); 

     if (!is_dir(dirname(__FILE__).'/mails/'.Tools::strtolower($iso_lang))) { 
      $id_lang = Language::getIdByIso('en'); 
     } 

     Mail::Send(
      $id_lang, 
      'error_reporting', 
      Mail::l('Error reporting from your PayPal module', (int) $this->context->language->id), 
      array('{logs}' => implode('<br />', $log)), 
      Configuration::get('PS_SHOP_EMAIL'), 
      null, 
      null, 
      null, 
      null, 
      null, 
      _PS_MODULE_DIR_.$this->name.'/mails/' 
     ); 
    } 

    return $this->fetchTemplate('error.tpl'); 

是否有與鉤error.tpl調用順序的模板路由規則?

回答

1

否有沒有它的路由規則。從我設法通過模塊代碼要明白的是,如果一個訂單的當前狀態有payment_error(的Payment Error狀態模板)的電子郵件模板錯誤模板顯示。

所以,如果你設置的順序,當前的狀態Payment Error並訪問你在應該顯示錯誤模板的問題寫了相同的鏈接。