Помощь Как поменять язык по умолчанию для заданной страницы

fantats

Постоялец
Регистрация
30 Ноя 2014
Сообщения
321
Реакции
185
Подскажите пожалуйста как задать условие для смены языка по умолчанию для заданной страницы(index).

Наведу пример.
По умолчанию в админке язык ru и модулем идентификатор убран на страницах с языком по умолчанию.
Страницы отправлены в индекс.
Нужно задать главную страницу uk но без идентификатора а ссылки уже будут отрабатывать с идентификатором.

Смотру в сторону дописывания условия в контроллер (класс) на проверку типа...

{ if page==index} $default_language == id - 2 { else} обычная отработка

Подскажите где и как прописать подобное условие
 

fantats

Постоялец
Регистрация
30 Ноя 2014
Сообщения
321
Реакции
185
Вроде нашел место в модуле ...вернее в оверайде класса который использет модуль Link.php

осталось прописать правило для страницы index

protected function getLangLink($id_lang = null, Context $context = null, $id_shop = null)
{
if (Configuration::get('FSAU_REMOVE_DEFAULT_LANG', null, null, $id_shop) &&
Language::isMultiLanguageActivated()) {
if (!$id_lang) {
if (is_null($context)) {
$context = Context::getContext();
}
$id_lang = $context->language->id;
}
if ($id_lang == Configuration::get('PS_LANG_DEFAULT', null, null, $id_shop)) {
return '';
}
}
return parent::getLangLink($id_lang, $context, $id_shop);
}
 

GenerationPi

Писатель
Регистрация
26 Янв 2016
Сообщения
4
Реакции
3
Вот попробуй это но работать будет только для главной
для остальных добавляй
getCategoryLink
getCMSCategoryLink
getCMSLink
class Link extends LinkCore
{
public 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;
}
}
}

}

А и обязательно после того как оверрайд переделаешь удали class_index.php в папке кеш
 
Сверху