Скрипт выдаёт ошибку токена пользователя на OpenCart 2.3.0.2 - PullRequest
0 голосов
/ 15 декабря 2018

Этот скрипт не работает на opencart 2.3.0.2. Может ли кто-нибудь помочь перевести это?

Есть ли проблема с токеном пользователя?

<script type="text/javascript"><!--
function refudt(ele){
var pid = $(ele).data('pid');
var type= $(ele).data('type');

$.ajax({
url: 'index.php?route=sale/order/getprice&user_token=
{{ user_token }}',
dataType: 'html',
type: 'post',
data: 'order_id={{ order_id }}&pid=' + pid+'&type='+type,
success: function(html) {
$(ele).parent().append('<br>'+html);
}
});

}

function saver(ele){
var pid = $(ele).data('pid');
var price = $(ele).parent().find('input').val();
var type= $(ele).data('type');
confirm('Save new value: '+price +' ?');

$.ajax({
url: 'index.php?route=sale/order/getprice&user_token=
{{ user_token }}',
dataType: 'html',
type: 'post',
data: 'order_id={{ order_id }}&pid=' + pid+'&value='+price+'&type='+type,
success: function(html) {
$(ele).parent().remove();
if($('.rebus').length<1) {
location.reload();
}
}
});
}

//--></script> 

1 Ответ

0 голосов
/ 16 декабря 2018

вы используете функцию веточки для версии OC2.3.Эта версия OC не поддерживает веточку.И вместо user_token должно быть просто token.Сценарий, который вам нужно изменить на:

<script type="text/javascript"><!--
function refudt(ele){
var pid = $(ele).data('pid');
var type= $(ele).data('type');

$.ajax({
url: 'index.php?route=sale/order/getprice&token=<?php echo $token; ?>,

dataType: 'html',
type: 'post',
data: 'order_id=<?php echo $order_id; ?>&pid=' + pid+'&type='+type,
success: function(html) {
$(ele).parent().append('<br>'+html);
}
});

}

function saver(ele){
var pid = $(ele).data('pid');
var price = $(ele).parent().find('input').val();
var type= $(ele).data('type');
confirm('Save new value: '+price +' ?');

$.ajax({
url: 'index.php?route=sale/order/getprice&token=<?php echo $token; ?>,
dataType: 'html',
type: 'post',
data: 'order_id=<?php echo $order_id; ?>&pid=' + pid+'&value='+price+'&type='+type,
success: function(html) {
$(ele).parent().remove();
if($('.rebus').length<1) {
location.reload();
}
}
});
}

//--></script> 

Также не забывайте, что токен должен быть определен в соответствующем файле контроллера следующим образом: $data['token'] = $this->session->data['token'];

...