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

fantats

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

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

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

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

Подскажите где и как прописать подобное условие
 
Вроде нашел место в модуле ...вернее в оверайде класса который использет модуль 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);
}
 
Вот попробуй это но работать будет только для главной
для остальных добавляй
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 в папке кеш
 
Назад
Сверху