Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Неправильная токен-сессия. Авторизуйтесь снова.


Recommended Posts

Opencart 2.3

Сегодня решил изменить меню OC Horizontal Mega Menu и почему-то при нажатии кнопки сохранения меня выкидывает на авторизацию с сообщением - Неправильная токен-сессия. Авторизуйтесь снова.

в ошибках вот такое - PHP Notice:  Undefined variable: token in /var/www/site/data/www/site.ru/admin/view/template/extension/module/ochozmegamenu.tpl on line 184

на 184 строке вот такой код   url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' +  encodeURIComponent(request),

кусок кода

$('input[name=\'product\']').autocomplete({
	'source': function(request, response) {
		$.ajax({
			url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' +  encodeURIComponent(request),
			dataType: 'json',			
			success: function(json) {
				response($.map(json, function(item) {
					return {
						label: item['name'],
						value: item['product_id']

 

Причем такая ошибка пошла на двух сайтах. 

Что это может быть ?

Спасибо

Надіслати
Поділитися на інших сайтах


7 минут назад, Vetroff сказал:

может в контроллере нет переменной.

Очевидно что нет. Нужно добвить (если нет) $data['token']=$this->session->data['token']

 

Надіслати
Поділитися на інших сайтах

23 минуты назад, esculapra сказал:

Очевидно что нет. Нужно добвить (если нет) $data['token']=$this->session->data['token']

Попробовал добавить в контроллер, картина та-же

Есть еще от этого же автора OC Vertical Mega Menu и оно работает нормально

Сравнил файлы admin/view/template/extension/module/ochozmegamenu.tpl

и выяснилось что файлы практически одинаковы, но в том который не работает есть дополнительный код

<script type="text/javascript"><!--
$('input[name=\'product\']').autocomplete({
	'source': function(request, response) {
		$.ajax({
			url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' +  encodeURIComponent(request),
			dataType: 'json',			
			success: function(json) {
				response($.map(json, function(item) {
					return {
						label: item['name'],
						value: item['product_id']
					}
				}));
			}
		});
	},
	'select': function(item) {
		$('#hozmegamenu-product' + item['value']).remove();
		
		$('#hozmegamenu-product').append('<div id="hozmegamenu-product' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" value="' + item['value'] + '" /></div>');	
	
		data = $.map($('#hozmegamenu-product input'), function(element) {
			return $(element).attr('value');
		});
						
		$('input[name=\'hozmegamenu_product\']').attr('value', data.join());	
	}	
});

$('#hozmegamenu-product').delegate('.fa-minus-circle', 'click', function() {
	$(this).parent().remove();

	data = $.map($('#hozmegamenu-product input'), function(element) {
		return $(element).attr('value');
	});
					
	$('input[name=\'hozmegamenu_product\']').attr('value', data.join());	
});

я его удалил и меню заработало. Все сохраняется, админка открывается, на сайте все работает

Так вот интересно - я ничего более крупного не накосячу удалением этого кода ? 

Надіслати
Поділитися на інших сайтах


Я  возился с тройкой, так там такая же фигня была если ссылка прописывалась в шаблоне - я вынес ее создание в контроллер, и все стало окей.

Надіслати
Поділитися на інших сайтах

2 минуты назад, esculapra сказал:

Я  возился с тройкой, так там такая же фигня была если ссылка прописывалась в шаблоне - я вынес ее создание в контроллер, и все стало окей.

Спасибо, попробую.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.