Jump to content
Sign in to follow this  
ZerG1

Перенаправление на главную при смене языка

Recommended Posts

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

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

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
3 минуты назад, halfhope сказал:

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

 

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

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

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

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

 

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

Спойлер

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

 

Share this post


Link to post
Share on other sites
Цитата

<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">

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Цитата

<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>

 

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

Share this post


Link to post
Share on other sites
9 минут назад, markimax сказал:

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

 

[OCJazz] SeoPro вроде

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
15 минут назад, ZerG1 сказал:

 

[OCJazz] SeoPro вроде

 

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

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

Share this post


Link to post
Share on other sites
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'));
		}
	}
}

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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'];
		}

Занавес

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

Share this post


Link to post
Share on other sites
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 будет знать об "ваших" переменных у себя в шаблоне переключателя языка ?

 

 

Share this post


Link to post
Share on other sites
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 будет знать об "ваших" переменных у себя в шаблоне переключателя языка ?

 

 

 

 

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

Share this post


Link to post
Share on other sites

Я правил в seopro

Share this post


Link to post
Share on other sites
В 08.02.2018 в 19:41, toropa сказав:

Я правил в seopro

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By guck
      Привет! Может кто решал проблему с тем, что клик по кнопке смены языка редиректит на главную и при этом с некрасивым ( index.php?route=common/home ) урлом?
      И может модуль есть для OC3 который работает как seo cms?
      OC 3.0.2.0
      спасибо
    • By spoonyto
      Здравствуйте.
      Подскажите если кто сталкивался.
      Сайт перекидывает на  главную страницу при первом открытии любой страницы. Хотя потом при открытии той же страницы или любой другой страница грузится нормально.
       
      Проверил htaccess, сравнил с по-умолчанию все одинаково.
      Хостер уверяет что ничего не менялось.
       
      Коллега установил пару плагинов, создается впечатление что проблемы как раз из-за этого.
      Из того что удалось найти в google возможно вызвано добавленным кодом в файлы шаблонов (.tpl)
       
      Не уверен что ставлю корректно вопрос, влияет ли на то в какой(-ом) части сайта / шаблоне вставлен этот код, что вызывает этот редирект? Если да, то куда смотреть?
      Спрашиваю потому что хотелось бы найти где именно это лежит, так как плагины были установлены были несколько месяцев назад, а возможности откатится нету на версию перед этим.
       
      Заранее спасибо за адекватные советы.
    • By 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 приводить не буду он стандартный ка при свежей установке.
      Выручите пожалуйста, понять не могу, что исправить надо.
    • By Jericho88
      Господа, помогите пожалуйста новичку разобраться с настройкой 301 редиректа (по адресам страниц). Много прочел по этой теме, но в данной области не компитентен. Буду благодарен за любые подсказки, советы и помощь (кроме бесконечных ссылок, которые я скорее всего уже посетил). 
      Заранее спасибо!
    • By CrazyFreeMan
      Добрый день
      Есть сайт на v1.5.5.1.2
      Добавил его в Google.webmaster/Analytics - ok
      Добавил в Yandex.Metrica - ok
      Добавляю в Yandex.webmaster - Сайт выполняет циклическое перенаправление
      Скачал по новой и залил файлы seo_pro.php && seo_url.php
      Скачал по новой и залил htaccess
      Чистил кеш
      Ставил ЧПУ "по умолчанию"
      Отключал ЧПУ
      Скрипт watch.js - статус 307
      Удалял скрипты аналистик и яндекс
      Ответ по сайту получаю везде 200 ok
       
      Что я еще упустил?
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.