Украинизация Prestashop в связи с законом "Об украинском языке"

Тема в разделе "PrestaShop", создана пользователем Maimeri, 6 ноя 2018.

  1. Maimeri

    Maimeri

    Регистрация:
    17 окт 2015
    Сообщения:
    53
    Симпатии:
    4
    Всем доброго времени суток.

    В связи с тем, что Верховная Рада 4 октября приняла закон "Об украинском языке", хотелось бы узнать, как добавить украинский язык в Prestashop?
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
  3. Maimeri

    Maimeri

    Регистрация:
    17 окт 2015
    Сообщения:
    53
    Симпатии:
    4
    Добавил сегодня на свой русский еще и украинский язык. К URL строке добавился еще индекс /ru/. А так как переиндексировать ссылки на новые мне не особо хотелось сделал как нашел на просторах интернета:

    1 Создал файл /override/classes/Link.php
    Вставил код:

    <?php

    class Link extends LinkCore
    {
    protected function getLangLink($id_lang = null, Context $context = null, $id_shop = null)
    {
    $parent_result = parent::getLangLink($id_lang, $context, $id_shop);

    if ($parent_result) {
    if ($id_lang == Configuration::get('PS_LANG_DEFAULT')) {
    return '';
    } else {
    return $parent_result;
    }
    }
    }
    }

    2 Создал файл /override/classes/Tools.php
    Вставил код:

    <?php

    class Tools extends ToolsCore
    {
    public static function setCookieLanguage($cookie = null)
    {
    parent::setCookieLanguage($cookie);

    if (!$cookie) {
    $cookie = Context::getContext()->cookie;
    }

    if(!Tools::getValue('isolang') && !Tools::getValue('id_lang') && !Tools::isSubmit('id_category_layered')) {
    $cookie->id_lang = Configuration::get('PS_LANG_DEFAULT');
    Context::getContext()->language = new Language($cookie->id_lang);
    }

    /* If language file not present, you must use default language file */
    if (!$cookie->id_lang || !Validate::isUnsignedId($cookie->id_lang)) {
    $cookie->id_lang = (int)Configuration::get('PS_LANG_DEFAULT');
    Context::getContext()->language = new Language($cookie->id_lang);
    }

    $iso = Language::getIsoById((int)$cookie->id_lang);
    @include_once(_PS_THEME_DIR_.'lang/'.$iso.'.php');

    return $iso;
    }
    }

    Почистил кэш и удалил файл /cache/class_index.html

    Индекс /ru/ исчез и ссылка стала как была раньше. Теперь собственно вопрос другой. Как закрыть в robots.txt от индексации url,
    который идет с индексом /ua/ . Например - site.com.ua/ua/tovary-na-saite ???
     
    Последнее редактирование: 13 ноя 2018
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Disallow: /ua/*
     
  5. Maimeri

    Maimeri

    Регистрация:
    17 окт 2015
    Сообщения:
    53
    Симпатии:
    4
    ОК. Спасибо. Буду смотреть.