Как получить значение user_token из URL

В версии фреймворка OpenCart 3.0.2.x для

URL = http://localhost/moreshop/admin/index.php?route=account/apisync&user_token=FARboCmeZHqQl8bITE3SRTenJscadbYc

Мне нужно получить значение URL из параметра user_token, записанного в формате .twig

Ранее в OpenCart версии 2.3.x.x это было записано в файле .tpl как

<input type="hidden" name="token" id="token" value="<?php echo $_GET['token']; ?>"/>


Я пытался присвоить значение =

{{ app.request.query.all }}
{{ app.request.query.get('user_token') }}
{{ app.request.get('user_token') }}
{{ _GET.user_token }}

Но все вышеперечисленные значения присваиваются с нулевым значением. Итак, как мне получить значение user_token и присвоить его value=?


person Nɪsʜᴀɴᴛʜ ॐ    schedule 06.06.2018    source источник


Ответы (2)


Вы должны определить его в файле вашего контроллера:

$data['user_token'] = $this->session->data['user_token'];

Чем вы можете назвать это в файле ветки:

<input type="hidden" name="User_token" id="user_token" value="{{ user_token }}"/>

вы также можете попробовать назвать это {{ _GET.token }}

person K. B.    schedule 27.06.2018

Альтернативное решение: (это не точное решение опубликованного вопроса)

Я использовал JavaScript, чтобы уловить значение user_token, а затем передать его в AJAX, чтобы перенаправить на конкретный URL-адрес.

function getUrlParameter(sParam) {
  var sPageURL = decodeURIComponent(window.location.search.substring(1)),
    sURLVariables = sPageURL.split('&'),
    sParameterName, i;

  for (i = 0; i < sURLVariables.length; i++) {
    sParameterName = sURLVariables[i].split('=');

    if (sParameterName[0] === sParam) {
      return sParameterName[1] === undefined ? true : sParameterName[1];
    }
  }
};
var user_token = getUrlParameter('user_token');
console.log(user_token);
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>

person Nɪsʜᴀɴᴛʜ ॐ    schedule 06.06.2018