Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

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

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

Link to post
Share on other sites

3 минуты назад, halfhope сказал:

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

 

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

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

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

OpenCart Version 2.1.0.2 (trs.2.0.3.0)

 

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

Спойлер

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

 

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

 

 

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>

 

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

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

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

 

[OCJazz] SeoPro вроде

Link to post
Share on other sites

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

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

 

[OCJazz] SeoPro вроде

 

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

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

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'));
		}
	}
}

 

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
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'];
		}

Занавес

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

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

 

 

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

 

 

 

 

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

Link to post
Share on other sites

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

 

 

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

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

Удалить jazz

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

 

  • +1 2
Link to post
Share on other sites
  • 2 weeks later...
  • 4 months later...
В 08.02.2018 в 19:41, toropa сказав:

Я правил в seopro

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By Vavoro
      Подскажите, как сделать, чтобы при выбора языка менялся также и урл, то есть добавлялась языковая приставка? Когда установил модуль seopro, то при смене языка пишет: запрашиваемая страница не найдена. Как это исправить кто знает? Opencart 3.0.3.6
    • By Mishanya1
      Привет!
       
      www.shukrehut.co.il
      При переключении языка ЧПУ не меняется (хотя смена языка происходит).
       
      Пример:
      Мы выбираем категорию "Столы": https://shukrehut.co.il/столы-в-израиле

      Переключаем язык - страница сменила язык, но https://shukrehut.co.il/столы-в-израиле осталось без изменения.
      Если теперь выбрать другую категорию (оставаясь в иврите), а потом вернуться в "Столы" (на иврите), то получим https://shukrehut.co.il/פינת-אוכל - это правильно.
       
      Вопрос: почему при переключении языка https://shukrehut.co.il/столы-в-израиле сразу не меняется на https://shukrehut.co.il/פינת-אוכל ?
       
      Не имеет значения с какого языка начинать. Проблема русский-иврит или иврит-русский одинакова.
      Это относится ко всем линкам (не только к категориям)

      Как исправить?
       
      Спасибо.
    • By AlexDW
      Скачать/Купить дополнение


      Admin Language toggle - быстрая смена языка администратора
      Мод для быстрой смены текущего языка админки без захода в основные настройки
       
      DEMO 3x
      DEMO 2x
       
      Особенности:
      - быстрая смена языка администратора без захода в настройки
                  с учетом прав пользователя на изменение настроек
       
      - запрос подтверждения при смене языка, для исключения случайных нажатий и потери данных
      - совместим с ocStore / OCSHOP (OpencartPro) / Opencart версий 2000-303x
      - не создает дополнительных полей и таблиц в БД
      - никакие файлы не заменяет, используется OCMOD

      Установка 2x:
      1. Загрузить файл ocmod.xml из папки 2x в Дополнения > Установщик дополнений
      2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений)

      Установка 3x:
      1. Загрузить архив admin-lang-toggle-3x.ocmod.zip в Дополнения > Установщик дополнений
      2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений)
      3. Обновить кеш шаблона в Панель управления > Настройки разработчика
       
       
      Другие дополнения:
      -----------------------------
      CartKeeper - хранение, просмотр и управление корзинами покупателей
      AO Tooltips - стильные подсказки для характеристик и опций товаров
      SearchOrder 2x - расширенный поиск, просмотр и экспорт заказов
      OrderField - сортировка товаров в счете, дополнительные поля в заказах и многое другое
      Добавил AlexDW Добавлено 05.05.2020 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 0  
    • By AlexDW
      Мод для быстрой смены текущего языка админки без захода в основные настройки
       
      DEMO 3x
      DEMO 2x
       
      Особенности:
      - быстрая смена языка администратора без захода в настройки
                  с учетом прав пользователя на изменение настроек
       
      - запрос подтверждения при смене языка, для исключения случайных нажатий и потери данных
      - совместим с ocStore / OCSHOP (OpencartPro) / Opencart версий 2000-303x
      - не создает дополнительных полей и таблиц в БД
      - никакие файлы не заменяет, используется OCMOD

      Установка 2x:
      1. Загрузить файл ocmod.xml из папки 2x в Дополнения > Установщик дополнений
      2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений)

      Установка 3x:
      1. Загрузить архив admin-lang-toggle-3x.ocmod.zip в Дополнения > Установщик дополнений
      2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений)
      3. Обновить кеш шаблона в Панель управления > Настройки разработчика
       
       
      Другие дополнения:
      -----------------------------
      CartKeeper - хранение, просмотр и управление корзинами покупателей
      AO Tooltips - стильные подсказки для характеристик и опций товаров
      SearchOrder 2x - расширенный поиск, просмотр и экспорт заказов
      OrderField - сортировка товаров в счете, дополнительные поля в заказах и многое другое
    • By guck
      Привет! Может кто решал проблему с тем, что клик по кнопке смены языка редиректит на главную и при этом с некрасивым ( index.php?route=common/home ) урлом?
      И может модуль есть для OC3 который работает как seo cms?
      OC 3.0.2.0
      спасибо
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

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.