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

leaderdm

Творец (III)
Сообщения
9
Симпатии
7
Баллы
84
Ребята Help! Как реализовать для престашоп версии 1.7 следующую задачу:
При добавлении нового языка (конкретно украинского в связи с вступившими новым законом в Украине) нужно сделать так, чтоб префикс "ru" для русского не появлялся.
 
Ребята Help! Как реализовать для престашоп версии 1.7 следующую задачу:
При добавлении нового языка (конкретно украинского в связи с вступившими новым законом в Украине) нужно сделать так, чтоб префикс "ru" для русского не появлялся.
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
 
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
Тоже использую этот модуль для удаления префикса языка по умолчанию. Работает отлично!
 
Ребята 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).'/';
        }
    }
}
 
Создайте в .../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).'/';
        }
    }
}
Работает!)
 
Создайте в .../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 ошибку(((
 
а вообще префикс языка, как-то влияет на продвижение сайта, в отрицательном плане? Спасибо
 
Есть вариант поставить модуль Advanced SEO Frendly URLs, там есть много чего (например убрать ИД из категории и товара. В том числе есть настройка Remove Default Language from URL
Возможно вам этот вариант подойдет. Если модуль нужен могу выложить, только не знаю как.
Отлично! Работает на престе 1.7.6.3. Спасибо за подсказку!!!
 
Добрый вечер! Почему-то выдает 500 ошибку(((
1. Попробуйте очистить кеш.
2. Проверьте точно ли весь текст разместили в файл. Пересоздайте файл опять и еще раз попробуйте.
3. На счет SEO. Если у вас сайт уже работает без префикса, то и нужно делать без него. Иначе поменяются все урлы сайта. И на восстановление позиций в поисковиках потребуется время.
4. Вариант с созданием файла Link.php предпочтительнее тем что не нужно устанавливать дополнительные модули. Стараюсь меньше их устанавливать.
 
1. Попробуйте очистить кеш.
2. Проверьте точно ли весь текст разместили в файл. Пересоздайте файл опять и еще раз попробуйте.
3. На счет SEO. Если у вас сайт уже работает без префикса, то и нужно делать без него. Иначе поменяются все урлы сайта. И на восстановление позиций в поисковиках потребуется время.
4. Вариант с созданием файла Link.php предпочтительнее тем что не нужно устанавливать дополнительные модули. Стараюсь меньше их устанавливать.
Спасибо огромное, попробуем:)
Такой вопрос, возможно, глупый вопрос, по пути .../override/classes/Link.php уже есть файл Link.php необходимо туда вписать данный код или вообще удалить все, что там есть и вписать этот код?
 
Последнее редактирование:
а вообще префикс языка, как-то влияет на продвижение сайта, в отрицательном плане? Спасибо
тестирую уже пару лет - в гугле никак не ухудшает наличие признака языка в урле, а местами - даже помогает
 
  • Мне нравится
Симпатии: Djack
Назад
Верх