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

leaderdm

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

pashad

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

leaderdm

Создатель
Сообщения
5
Симпатии
6
Баллы
109

Djack

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

xxxATOMxxx

Создатель
Сообщения
2
Симпатии
6
Баллы
16
Ребята 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

Создатель
Сообщения
5
Симпатии
6
Баллы
109
Создайте в .../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

Созидатель
Сообщения
15
Симпатии
1
Баллы
16
Создайте в .../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

Созидатель
Сообщения
15
Симпатии
1
Баллы
16
а вообще префикс языка, как-то влияет на продвижение сайта, в отрицательном плане? Спасибо
 

Cooper

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

leaderdm

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

Cooper

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