Tôi đang phát triển một module thanh toán tùy chỉnh trong PrestaShop 1.6 đường front controller của tôi là: mymodule/controllers/trước/payment.phpKhông thể thêm dữ liệu thuộc tính trong thẻ script trong PrestaShop 1.6
payment.php chứa:
$this->context->smarty->assign(array(
'dataCompleteURL' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__.'index.php?fc=module&module=mymodule&controller=callback&cart='.$cartID));
$this->setTemplate('payment.tpl');
con đường tập tin mẫu của tôi là: mymodule/views/templates/trước/payment.tpl
payment.tpl chứa:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
Vấn đề là ở localhost của tôi nó đang làm việc tốt. Tôi nhận được URL đầy đủ dữ liệu trong thẻ tập lệnh. Nhưng khi tôi cài đặt các mô-đun trong máy chủ thử nghiệm của tôi, tôi không nhận được URL đầy đủ dữ liệu.
Bất kỳ trợ giúp hoặc đề xuất nào sẽ được đánh giá cao. Cảm ơn trước.
CẬP NHẬT
Tôi đã phát hiện ra rằng vấn đề là "https" trong "src" của thẻ script. Tôi không thể hiểu tại sao dữ liệu hoàn thành biến mất nếu URL src bắt đầu bằng https. mà không https nó không quan trọng
khi tôi xem nguồn từ trình duyệt cho đoạn mã sau với https trong src:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
thuộc tính dữ liệu hoàn toàn biến mất. Nhưng khi tôi xem nguồn cho kịch bản với src mà không có "https" tôi nhận được thuộc tính hoàn thành dữ liệu.
Tôi không thể tìm thấy lý do.
HOẶC tôi có thể thêm javascript trong điều khiển payment.php sử dụng:
$this->context->controller->addJS(($this->_path).'js/checkout.js');
Nhưng không biết làm thế nào để vượt qua các thuộc tính dữ liệu trong addJS chức năng. Nếu bất kỳ chuyên gia PrestaShop nào giúp tôi, anh ấy sẽ tiết kiệm thời gian của tôi. Cảm ơn
Trong payment.tpl đặt một nơi nào đó {$ dataCompleteURL | var_dump} và kiểm tra kết quả. –
Tôi nhận được giá trị của $ dataCompleteURL. xin vui lòng xem UPDATE –