Помощь Удалить префикс для основного языка для Prestashop 1.7

leaderdm

Творец (III)
Сообщения
9
Симпатии
7
Баллы
106
Ребята Help! Как реализовать для престашоп версии 1.7 следующую задачу:
При добавлении нового языка (конкретно украинского в связи с вступившими новым законом в Украине) нужно сделать так, чтоб префикс "ru" для русского не появлялся.
 

pashad

Продвинутый (IV)
Сообщения
24
Симпатии
14
Баллы
213
Ребята Help! Как реализовать для престашоп версии 1.7 следующую задачу:
При добавлении нового языка (конкретно украинского в связи с вступившими новым законом в Украине) нужно сделать так, чтоб префикс "ru" для русского не появлялся.
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
 

leaderdm

Творец (III)
Сообщения
9
Симпатии
7
Баллы
106

Djack

Разрушитель (V)
Сообщения
104
Симпатии
48
Баллы
948
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
Тоже использую этот модуль для удаления префикса языка по умолчанию. Работает отлично!
 

xxxATOMxxx

Созидатель (II)
Сообщения
2
Симпатии
6
Баллы
14
Ребята Help! Как реализовать для престашоп версии 1.7 следующую задачу:
При добавлении нового языка (конкретно украинского в связи с вступившими новым законом в Украине) нужно сделать так, чтоб префикс "ru" для русского не появлялся.

Создайте в .../override/classes/Link.php
Язык по умолчанию (основной) будет без префикса.
PHP:
<?php

class Link extends LinkCore
{
    protected function getLangLink($idLang = null, Context $context = null, $idShop = null)
    {
        static $psRewritingSettings = null;
        if ($psRewritingSettings === null) {
            $psRewritingSettings = (int) Configuration::get('PS_REWRITING_SETTINGS', null, null, $idShop);
        }

        if (!$context) {
            $context = Context::getContext();
        }

        if ((!$this->allow && in_array($idShop, array($context->shop->id,  null))) || !Language::isMultiLanguageActivated($idShop) || !$psRewritingSettings) {
            return '';
        }

        if (!$idLang) {
            $idLang = $context->language->id;
        }

        if (Configuration::get('PS_LANG_DEFAULT') == $idLang) {
            return '';
        }
        else {
            return Language::getIsoById($idLang).'/';
        }
    }
}
 

leaderdm

Творец (III)
Сообщения
9
Симпатии
7
Баллы
106
Создайте в .../override/classes/Link.php
Язык по умолчанию (основной) будет без префикса.
PHP:
<?php

class Link extends LinkCore
{
    protected function getLangLink($idLang = null, Context $context = null, $idShop = null)
    {
        static $psRewritingSettings = null;
        if ($psRewritingSettings === null) {
            $psRewritingSettings = (int) Configuration::get('PS_REWRITING_SETTINGS', null, null, $idShop);
        }

        if (!$context) {
            $context = Context::getContext();
        }

        if ((!$this->allow && in_array($idShop, array($context->shop->id,  null))) || !Language::isMultiLanguageActivated($idShop) || !$psRewritingSettings) {
            return '';
        }

        if (!$idLang) {
            $idLang = $context->language->id;
        }

        if (Configuration::get('PS_LANG_DEFAULT') == $idLang) {
            return '';
        }
        else {
            return Language::getIsoById($idLang).'/';
        }
    }
}
Работает!)
 

Cooper

Творец (III)
Сообщения
36
Симпатии
5
Баллы
68
Создайте в .../override/classes/Link.php
Язык по умолчанию (основной) будет без префикса.
PHP:
<?php

class Link extends LinkCore
{
    protected function getLangLink($idLang = null, Context $context = null, $idShop = null)
    {
        static $psRewritingSettings = null;
        if ($psRewritingSettings === null) {
            $psRewritingSettings = (int) Configuration::get('PS_REWRITING_SETTINGS', null, null, $idShop);
        }

        if (!$context) {
            $context = Context::getContext();
        }

        if ((!$this->allow && in_array($idShop, array($context->shop->id,  null))) || !Language::isMultiLanguageActivated($idShop) || !$psRewritingSettings) {
            return '';
        }

        if (!$idLang) {
            $idLang = $context->language->id;
        }

        if (Configuration::get('PS_LANG_DEFAULT') == $idLang) {
            return '';
        }
        else {
            return Language::getIsoById($idLang).'/';
        }
    }
}
Добрый вечер! Почему-то выдает 500 ошибку(((
 

Cooper

Творец (III)
Сообщения
36
Симпатии
5
Баллы
68
а вообще префикс языка, как-то влияет на продвижение сайта, в отрицательном плане? Спасибо
 

Cooper

Творец (III)
Сообщения
36
Симпатии
5
Баллы
68
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
Отлично! Работает на престе 1.7.6.3. Спасибо за подсказку!!!
 

leaderdm

Творец (III)
Сообщения
9
Симпатии
7
Баллы
106
Добрый вечер! Почему-то выдает 500 ошибку(((
1. Попробуйте очистить кеш.
2. Проверьте точно ли весь текст разместили в файл. Пересоздайте файл опять и еще раз попробуйте.
3. На счет SEO. Если у вас сайт уже работает без префикса, то и нужно делать без него. Иначе поменяются все урлы сайта. И на восстановление позиций в поисковиках потребуется время.
4. Вариант с созданием файла Link.php предпочтительнее тем что не нужно устанавливать дополнительные модули. Стараюсь меньше их устанавливать.
 

Cooper

Творец (III)
Сообщения
36
Симпатии
5
Баллы
68
1. Попробуйте очистить кеш.
2. Проверьте точно ли весь текст разместили в файл. Пересоздайте файл опять и еще раз попробуйте.
3. На счет SEO. Если у вас сайт уже работает без префикса, то и нужно делать без него. Иначе поменяются все урлы сайта. И на восстановление позиций в поисковиках потребуется время.
4. Вариант с созданием файла Link.php предпочтительнее тем что не нужно устанавливать дополнительные модули. Стараюсь меньше их устанавливать.
Спасибо огромное, попробуем:)
Такой вопрос, возможно, глупый вопрос, по пути .../override/classes/Link.php уже есть файл Link.php необходимо туда вписать данный код или вообще удалить все, что там есть и вписать этот код?
 
Последнее редактирование:

_sashok

Продвинутый (IV)
Сообщения
16
Симпатии
15
Баллы
126
а вообще префикс языка, как-то влияет на продвижение сайта, в отрицательном плане? Спасибо
тестирую уже пару лет - в гугле никак не ухудшает наличие признака языка в урле, а местами - даже помогает
 
  • Мне нравится
Симпатии: Djack
Верх