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

Одинковые ЧПУ (SEO URL) для разных языков в OpenCart 3 / ocStore 3


SergeTkach

5 079 переглядів

В поддержку моего модуля по массовой генерации ЧПУ для OpenCart часто обращаются с вопросом: как мне сделать одинаковые ЧПУ для русского и украинского языков (в принципе, проблема может встретьться и для других языков, просто такой расклад встречается в OpenCart чаще всего).

 

Так вот, этот бред (проверка в контроллере товара на эту самую одинаковость) вообще не понятно, зачем нужно. В Дизайн -> SEO URL можно спокойненько добавлять одинаковые ЧПУ для разных языков. На витрине все тоже прекрасно работает. А вот при сохранении товара в админке, нате Вам ошибочку...

 

Проблемка выглядит примерно так:

odinakovye-seo-url-dlya-raznyh-yazikov-opencart-3.thumb.jpg.eb94e094e2babdae10a4540ce9ab40df.jpg

 

 

Так вот, есть такой замечательный модификатор Allow Same SEO URL For Different Languages (OC3.0x), которые убирает это недоразумение.

 

В комментариях ниже, следовало объяснение, почему стоит, чтобы ЧПУ были разными для разных языков. Но если у вас на сайте будут "Языковые папки", то об этой заморочке можно не париться:

 

10 коментарів


Recommended Comments

Странно, но что это?

 

		$seo_urls = $this->model_design_seo_url->getSeoUrlsByKeyword($this->request->post['keyword']);

		foreach ($seo_urls as $seo_url) {
			if ($seo_url['store_id'] == $this->request->post['store_id'] && $seo_url['query'] != $this->request->post['query']) {
				$this->error['keyword'] = $this->language->get('error_exists');
				
				break;
			}
		}

 

Надіслати
  Цитата

На витрине все тоже прекрасно работает.

Expand  

Поясните как прекрасно работает?
Вы на странице xyz , пусть en-gb

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

А теперь зашла ПС
Какой язык будет? дефолтный
 

Надіслати
  В 23.06.2021 в 13:42, chukcha сказав:

Поясните как прекрасно работает?
Вы на странице xyz , пусть en-gb

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

А теперь зашла ПС
Какой язык будет? дефолтный
 

Expand  

 

Зачастую в мультиязычных магазинах установлен модуль, чтобы делать папки для языка.

 

Также можно использовать вот такой бесплатный модуль для создания "Языковых папок", опубликованный не так давно.

 

__________________________________________

Есть еще один бесплатный вариант подобного модуля, который называется похоже на платный, но работает немного иначе и, соответственно, не создает папку языка для любой ссылки сайта. Вот в случае использования этого модуля, нельзя делать одинаковые ЧПУ для разных языков из-за проблемы, обозначенной @chukcha

Если у вас вот этот модуль, тогда в модуле генерации ЧПУ (SEO URL Generator) необходимо поставить в формулу префикс языка. К примеру, ru-[product_name].

 

  • +1 1
Надіслати
  В 23.06.2021 в 13:38, chukcha сказав:

Странно, но что это?

 

		$seo_urls = $this->model_design_seo_url->getSeoUrlsByKeyword($this->request->post['keyword']);

		foreach ($seo_urls as $seo_url) {
			if ($seo_url['store_id'] == $this->request->post['store_id'] && $seo_url['query'] != $this->request->post['query']) {
				$this->error['keyword'] = $this->language->get('error_exists');
				
				break;
			}
		}

 

Expand  

Действительно странно, потому что ведь сохраняется!

В ocStore 3.0.2.0 - это 100%

Проверил в OpenCart 3.0.3.7 русская сборка - тоже сохраняется.

Надіслати
  В 23.06.2021 в 13:38, chukcha сказав:

if ($seo_url['store_id'] == $this->request->post['store_id'] && $seo_url['query'] != $this->request->post['query']) {

Expand  

 

У меня глюк, или тут как раз таки выдаст ошибку, если новый ЧПУ будет отличаться от того, который в уже существует в базе?

Надіслати
  В 23.06.2021 в 14:58, SergeTkach сказав:

 

У меня глюк, или тут как раз таки выдаст ошибку, если новый ЧПУ будет отличаться от того, который в уже существует в базе?

Expand  

Не, не выдает... Очень интересно

Надіслати

еще можно тут под корректировать

admin/model/design/seo_url.php

  Показати вміст
 
Змінено користувачем Desserro
Надіслати
  В 15.06.2023 в 19:37, Desserro сказав:

еще можно тут под корректировать

admin/model/design/seo_url.php

  Показати вміст
 
Expand  

 

Це для чого? Бо я щось не в'їхав. Правда й код орігінального файлу не дивився.

Надіслати
  В 16.06.2023 в 17:07, SergeTkach сказав:

 

Це для чого? Бо я щось не в'їхав. Правда й код орігінального файлу не дивився.

Expand  

 

 

Наприклад можуть створюватись дублі або...

Наприклад так:

 

  Показати вміст

 

 

Виправлення на github

 

Добавить настройку часового пояса на страницу настроек магазина от JesseOC · Запрос на вытягивание #6269 · opencart/opencart · GitHub

 

https://github.com/opencart/opencart/issues/6271

Надіслати

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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