Перейти к содержанию

Рекомендуемые сообщения

Здравствуйте!

На сайте при смене языка перенаправляет постоянно на главную.
Вопрос: Как сделать так, чтоб при смене языка пользователь оставался на той же странице?

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылку можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, halfhope сказал:

Ссылку можно?

 

8 минут назад, ZerG1 сказал:

Здравствуйте!

На сайте при смене языка перенаправляет постоянно на главную.
Вопрос: Как сделать так, чтоб при смене языка пользователь оставался на той же странице?

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

 

Вы смотрели в консоли браузера ?
Может у вас ошибка JS где то
И да, лучше всего давать ссылку на магазин
 

Спойлер

Тяжело гадать на кофейной гуще, по фотографиям и т п

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

<input name="redirect" value="<b>Notice</b>: Undefined variable: redirect in <b>/home/b2onl188/public_html/catalog/view/theme/fastor/template/common/language.tpl</b> on line <b>10</b>" type="hidden">

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какой модуль ставит префиксы ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

<b>Notice</b>: Undefined variable: redirect in <b>/home/b2onl188/public_html/catalog/view/theme/fastor/template/common/language.tpl</b> on line <b>10</b>

 

Ошибка, поэтому и не работает. Вы хоть в логи заглядывайте иногда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, markimax сказал:

Какой модуль ставит префиксы ?

 

[OCJazz] SeoPro вроде

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикрепите к сообщению файл system/storage/modification/catalog/controller/common/language.php, если он есть. Если его нет, то catalog/controller/common/language.php. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, ZerG1 сказал:

 

[OCJazz] SeoPro вроде

 

Это не seo_pro (причем далеко, совершенно разный код и 90% модулей (которые используют патчи ЧПУ формирователя) не знают о коде привязки в нем, могут быть проблемы совместимости (читаем стабильности)). Возможно из-за него и проблема
Это совсем другой ЧПУ формирователь, не стандартный
0. У вас в языковом контроллере еще что то изменено, так как нет стандартной переменной $redirect
Рекомендую:
1. Для стабильности установить стандарт де факто seo_pro

2. SEO мультиязык 2 для префиксов (решает проблему п 0 тоже)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, halfhope сказал:

Прикрепите к сообщению файл system/storage/modification/catalog/controller/common/language.php, если он есть. Если его нет, то catalog/controller/common/language.php. 

 

<?php
class ControllerCommonLanguage extends Controller {
	public function index() {
		$this->load->language('common/language');

		$data['text_language'] = $this->language->get('text_language');

		$data['action'] = $this->url->link('common/language/language', '', $this->request->server['HTTPS']);

		$data['code'] = $this->session->data['language'];

		$this->load->model('localisation/language');

		$data['languages'] = array();

		$results = $this->model_localisation_language->getLanguages();

		foreach ($results as $result) {
			if ($result['status']) {
				$data['languages'][] = array(
					'name'  => $result['name'],
					'code'  => $result['code'],
					'image' => $result['image']
				);
			}
		}

		if (!isset($this->request->get['route'])) {
						$data['redirect_route'] = 'common/home';
			$data['redirect_query'] = '';
			$data['redirect_ssl']   = '';
		} else {
			$url_data = $this->request->get;

			unset($url_data['_route_']);

			$route = $url_data['route'];

			unset($url_data['route']);

			$url = '';

			if ($url_data) {
				$url = '&' . urldecode(http_build_query($url_data, '', '&'));
			}

				$data['redirect_route']=$route;
			$data['redirect_query']=$url;
			$data['redirect_ssl']=$this->request->server['HTTPS'];
		}

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/language.tpl')) {
			return $this->load->view($this->config->get('config_template') . '/template/common/language.tpl', $data);
		} else {
			return $this->load->view('default/template/common/language.tpl', $data);
		}
	}

	public function language() {
		if (isset($this->request->post['code'])) {
			$this->session->data['language'] = $this->request->post['code'];
		}

if (isset($this->request->post['redirect_route'])) {
			$url = $this->url->link($this->request->post['redirect_route'],
					isset($this->request->post['redirect_query']) ? html_entity_decode($this->request->post['redirect_query']) : '',
					isset($this->request->post['redirect_ssl']) ? $this->request->post['redirect_ssl'] : '');
			$this->response->redirect($url);
		} else {
			$this->response->redirect($this->url->link('common/home'));
		}
	}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, ZerG1 сказал:

 

 

Какой то модуль (внизу написано какой ;) у вас заменил стандартный )
 

    if (!isset($this->request->get['route'])) {
            $data['redirect'] = $this->url->link('common/home');
        } else {
            $url_data = $this->request->get;

            $route = $url_data['route'];

            unset($url_data['route']);

            $url = '';

            if ($url_data) {
                $url = '&' . urldecode(http_build_query($url_data, '', '&'));
            }

            $data['redirect'] = $this->url->link($route, $url, isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')));
        }

 

На г.. код

 

if (!isset($this->request->get['route'])) {
						$data['redirect_route'] = 'common/home';
			$data['redirect_query'] = '';
			$data['redirect_ssl']   = '';
		} else {
			$url_data = $this->request->get;

			unset($url_data['_route_']);

			$route = $url_data['route'];

			unset($url_data['route']);

			$url = '';

			if ($url_data) {
				$url = '&' . urldecode(http_build_query($url_data, '', '&'));
			}

				$data['redirect_route']=$route;
			$data['redirect_query']=$url;
			$data['redirect_ssl']=$this->request->server['HTTPS'];
		}

Занавес

Как оказалось это бы не стандарт jazz

 

    <file path="catalog/controller/common/language.php">
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link('common/home');]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[            $data['redirect_route'] = 'common/home';
            $data['redirect_query'] = '';
            $data['redirect_ssl']   = '';]]></add>
        </operation>
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link($route, $url, $this->request->server['HTTPS']);]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[    $data['redirect_route']=$route;
            $data['redirect_query']=$url;
            $data['redirect_ssl']=$this->request->server['HTTPS'];]]></add>
        </operation>

Как и предполагалось

Вот что такое делать не стандартно, это называется костыли
Вот откуда г.. тема Fastore будет знать об ваших переменных у себя в шаблоне переключателя языка ?

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, markimax сказал:

Какой то модуль у вас заменил стандартный
 


    if (!isset($this->request->get['route'])) {
            $data['redirect'] = $this->url->link('common/home');
        } else {
            $url_data = $this->request->get;

            $route = $url_data['route'];

            unset($url_data['route']);

            $url = '';

            if ($url_data) {
                $url = '&' . urldecode(http_build_query($url_data, '', '&'));
            }

            $data['redirect'] = $this->url->link($route, $url, isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')));
        }

 

На г.. код

 


if (!isset($this->request->get['route'])) {
						$data['redirect_route'] = 'common/home';
			$data['redirect_query'] = '';
			$data['redirect_ssl']   = '';
		} else {
			$url_data = $this->request->get;

			unset($url_data['_route_']);

			$route = $url_data['route'];

			unset($url_data['route']);

			$url = '';

			if ($url_data) {
				$url = '&' . urldecode(http_build_query($url_data, '', '&'));
			}

				$data['redirect_route']=$route;
			$data['redirect_query']=$url;
			$data['redirect_ssl']=$this->request->server['HTTPS'];
		}

Занавес

Спасибо, буду искать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, ZerG1 сказал:

Спасибо, буду искать)

А чего искать... то

 

 

Как оказалось это был не стандарт jazz

 

    <file path="catalog/controller/common/language.php">
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link('common/home');]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[            $data['redirect_route'] = 'common/home';
            $data['redirect_query'] = '';
            $data['redirect_ssl']   = '';]]></add>
        </operation>
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link($route, $url, $this->request->server['HTTPS']);]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[    $data['redirect_route']=$route;
            $data['redirect_query']=$url;
            $data['redirect_ssl']=$this->request->server['HTTPS'];]]></add>
        </operation>

Как и предполагалось

Вот что такое делать не стандартно, это называется костыли
Вот откуда г.. тема Fastore будет знать об "ваших" переменных у себя в шаблоне переключателя языка ?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, markimax сказал:

А чего искать... то

 

 

Как оказалось это был не стандарт jazz

 


    <file path="catalog/controller/common/language.php">
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link('common/home');]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[            $data['redirect_route'] = 'common/home';
            $data['redirect_query'] = '';
            $data['redirect_ssl']   = '';]]></add>
        </operation>
        <operation>
            <search trim="true" index="0"><![CDATA[$data['redirect'] = $this->url->link($route, $url, $this->request->server['HTTPS']);]]></search>
            <add position="replace" trim="false" offset="0"><![CDATA[    $data['redirect_route']=$route;
            $data['redirect_query']=$url;
            $data['redirect_ssl']=$this->request->server['HTTPS'];]]></add>
        </operation>

Как и предполагалось

Вот что такое делать не стандартно, это называется костыли
Вот откуда г.. тема Fastore будет знать об "ваших" переменных у себя в шаблоне переключателя языка ?

 

 

 

 

Можно это решить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, ZerG1 сказал:

 

 

Можно это решить?

Я написал "как" выше

Удалить jazz

https://opencartforum.com/topic/101049-perenapravlenie-na-glavnuyu-pri-smene-yazyka/?tab=comments#comment-972281

 

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я правил в seopro

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 08.02.2018 в 19:41, toropa сказав:

Я правил в seopro

@toropa Подскажите, пожалуйста, что именно правили?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От guck
      Привет! Может кто решал проблему с тем, что клик по кнопке смены языка редиректит на главную и при этом с некрасивым ( index.php?route=common/home ) урлом?
      И может модуль есть для OC3 который работает как seo cms?
      OC 3.0.2.0
      спасибо
    • От Sha
      349.00 руб
      Скачать/Купить дополнение


      SEO Manager Redirects Lite, Простой Менеджер Редиректов
      ВОЗМОЖНОСТИ:
      - система позволяет создавать перенаправление плохих ссылок на выбранные вами страницы магазина;
       
      модуль тестировался и работает на OpenCart 2.3.x.x
       
      ЛОКАЛИЗАЦИЯ:
      - Русский.
      - English.
       
      УСТАНОВКА:
      С помощью стандартного функционала OpenCart:
      1) Загружаем файл ocmod "Дополнения" -> "Установка дополнений".
      2) Заходим "Дополнения" -> "Менеджер дополнений" нажимаем кнопку "Обновить".
      3) в схеме добавляем отображения модуля для продукта производителя и категории

      ОБНОВЛЕНИЕ:
      С помощью стандартного функционала OpenCart:
      1) Удалить модуль в "Дополнения" -> "Менеджер дополнений".
      2) Повторить все действия пункта "Установка".
       
      Например исправление такой ссылки "magaz.com/mackbuk".
      Как это выглядит в админке.
      логин: demo , пароль: demo
       
      КАК РАБОТАЕТ:
      В Дополнения->дополнения->модули->редиректы в поле "Ссылка" вставляем плохой url формата category/product/aple и выбираем куда должно перенаправлять.
      особенности: добавляет в базу новою таблицу;
       
      ВАЖНО:
      Разработчик НЕ ГАРАНТИРУЕТ отсутствия ошибок, которые могут нарушить работу компьютера и/или сайта и/или привести к потере данных.
      Также, если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.
      Перед установкой, настоятельно рекомендуем, делать бэкап файлов и базы данных!!!
       
      ЛИЦЕНЗИЯ:
      - Модуль реализуется по принципу "1 покупка – 1 доменное имя"
      - Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.
       
      ТЕХНИЧЕСКАЯ ПОДДЕРЖКА:
      Техническая поддержка доступна только пользователям, из списка покупателей модуля. Если вы обращаетесь с просьбой разобраться в проблеме то, для экономии нашего времени, укажите: 1) адрес сайта, 2) доступ в админ-панель, 3) доступ на FTP-сервер.
      Добавил Sha Добавлено 08.03.2017 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика http://grodas.com.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop  
    • От Sha
      ВОЗМОЖНОСТИ:
      - система позволяет создавать перенаправление плохих ссылок на выбранные вами страницы магазина;
       
      модуль тестировался и работает на OpenCart 2.3.x.x
       
      ЛОКАЛИЗАЦИЯ:
      - Русский.
      - English.
       
      УСТАНОВКА:
      С помощью стандартного функционала OpenCart:
      1) Загружаем файл ocmod "Дополнения" -> "Установка дополнений".
      2) Заходим "Дополнения" -> "Менеджер дополнений" нажимаем кнопку "Обновить".
      3) в схеме добавляем отображения модуля для продукта производителя и категории

      ОБНОВЛЕНИЕ:
      С помощью стандартного функционала OpenCart:
      1) Удалить модуль в "Дополнения" -> "Менеджер дополнений".
      2) Повторить все действия пункта "Установка".
       
      Например исправление такой ссылки "magaz.com/mackbuk".
      Как это выглядит в админке.
      логин: demo , пароль: demo
       
      КАК РАБОТАЕТ:
      В Дополнения->дополнения->модули->редиректы в поле "Ссылка" вставляем плохой url формата category/product/aple и выбираем куда должно перенаправлять.
      особенности: добавляет в базу новою таблицу;
       
      ВАЖНО:
      Разработчик НЕ ГАРАНТИРУЕТ отсутствия ошибок, которые могут нарушить работу компьютера и/или сайта и/или привести к потере данных.
      Также, если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.
      Перед установкой, настоятельно рекомендуем, делать бэкап файлов и базы данных!!!
       
      ЛИЦЕНЗИЯ:
      - Модуль реализуется по принципу "1 покупка – 1 доменное имя"
      - Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.
       
      ТЕХНИЧЕСКАЯ ПОДДЕРЖКА:
      Техническая поддержка доступна только пользователям, из списка покупателей модуля. Если вы обращаетесь с просьбой разобраться в проблеме то, для экономии нашего времени, укажите: 1) адрес сайта, 2) доступ в админ-панель, 3) доступ на FTP-сервер.
    • От spoonyto
      Здравствуйте.
      Подскажите если кто сталкивался.
      Сайт перекидывает на  главную страницу при первом открытии любой страницы. Хотя потом при открытии той же страницы или любой другой страница грузится нормально.
       
      Проверил htaccess, сравнил с по-умолчанию все одинаково.
      Хостер уверяет что ничего не менялось.
       
      Коллега установил пару плагинов, создается впечатление что проблемы как раз из-за этого.
      Из того что удалось найти в google возможно вызвано добавленным кодом в файлы шаблонов (.tpl)
       
      Не уверен что ставлю корректно вопрос, влияет ли на то в какой(-ом) части сайта / шаблоне вставлен этот код, что вызывает этот редирект? Если да, то куда смотреть?
      Спрашиваю потому что хотелось бы найти где именно это лежит, так как плагины были установлены были несколько месяцев назад, а возможности откатится нету на версию перед этим.
       
      Заранее спасибо за адекватные советы.
    • От Bonifacy
      Добрый день!
      Решил опробовать Opencart и установить его.
      Конфигурация следующая: Win7+Apache24+PHP7+MySQL. Установка прошла гладко и без проблем, база данных создана и морда сайта работает.
      Но войти в админпанель не выходит. При вводе правильной пары логин-пароль сайт генерирует переадресацию с запросом GET мойсайт.ру/admin/index.php?route=common/dashboard&token=3HvUKa6XYuyI5IbA2p6PNZkRc6WgBI5u и ничего не происходит. Форма входа опустошает поля ввода и все (страница просто обновляется).
      Понятное дело, что проблема с htacsess или где-то в этой области. Поковыряв форум нашел пару проблем с которыми пользователи столкнулись 1) Не переименованный .htaccess.txt в .htaccess. 2) Изменение доменного имени или танцы с бубном СЕО "Специалистов". 3) Магазин располагается не в корне сайта.
      У меня файл корректно переименован, а установка свежая и располагается в каталоге соответсвуюущий DocumentRoot. Бьюсь с утра, понят не могу, что не так в этой жизни. Сайт виден в интернет. Реальный домен подменил здесь на site.ru
      Приводу вырезки из конфигурации:
      httpd-vhosts
      DocumentRoot "D:/ApacheSites/site.ru/opt/" - сам магазин в этой директории и находится. config.php
      <?php // HTTP define('HTTP_SERVER', 'http://opt.site.ru/'); // HTTPS define('HTTPS_SERVER', 'http://opt.site.ru/'); // DIR define('DIR_APPLICATION', 'D:/ApacheSites/site.ru/opt/catalog/'); define('DIR_SYSTEM', 'D:/ApacheSites/site.ru/opt/system/'); define('DIR_IMAGE', 'D:/ApacheSites/site.ru/opt/image/'); define('DIR_LANGUAGE', 'D:/ApacheSites/site.ru/opt/catalog/language/'); define('DIR_TEMPLATE', 'D:/ApacheSites/site.ru/opt/catalog/view/theme/'); define('DIR_CONFIG', 'D:/ApacheSites/site.ru/opt/system/config/'); define('DIR_CACHE', 'D:/ApacheSites/site.ru/opt/system/storage/cache/'); define('DIR_DOWNLOAD', 'D:/ApacheSites/site.ru/opt/system/storage/download/'); define('DIR_LOGS', 'D:/ApacheSites/site.ru/opt/system/storage/logs/'); define('DIR_MODIFICATION', 'D:/ApacheSites/site.ru/opt/system/storage/modification/'); define('DIR_UPLOAD', 'D:/ApacheSites/site.ru/opt/system/storage/upload/'); .htaccess приводить не буду он стандартный ка при свежей установке.
      Выручите пожалуйста, понять не могу, что исправить надо.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.