Версии элементов
страницы и документы, групп магазина, товары магазина

Шаг 1

Есть возможность для элементов (страницы и документы, групп магазина, товары магазина, группы информационных систем, элементы информационных систем) полностью подменить содержимое текста для текущего региона. В ЦА сайта переходим в раздел и нужного элемента кликаем на «Версии» (1)
Страницы и документы
Интернет-магазины

Шаг 2

Теперь в раздел «Мультирегиональные версии» кликаем «Добавить» (1)
Мультирегиональные версии (Страницы и документы)
Мультирегиональные версии (Интернет-магазины)

Шаг 3

Заполняем параметры для новой версии
Редактирование версии (Страницы и документы)
Редактирование версии (Информационные системы)
  • Название — название документа для региона
  • Содержимое документа — текст для региона
  • Мультирегион – регион которому принадлежит версия документа
  • Активность - активность элемента (только для ИМ и ИС)
    1^{1}
1^{1}
Для того чтобы исключить для выборки (так же ошибка 404) определенные группы/элементы внесите в ТДС (настройки страницы) следующий код:
ТДС [Настройки страницы]
любой др. код
// для ИМ после ->parseUrl() вставьте
if(Core::moduleIsActive('multiregion'))
{
if($Shop_Controller_Show->item)
{
$oMultiRegion_Shop_Item = Core_Page::instance()->multiregion->MultiRegion_Shop_Items->getByentity_id($Shop_Controller_Show->item);
if(!is_null($oMultiRegion_Shop_Item) && !$oMultiRegion_Shop_Item->active)
{
$Shop_Controller_Show->error404();
return ;
}
}
if($Shop_Controller_Show->group)
{
$oMultiRegion_Shop_Group = Core_Page::instance()->multiregion->MultiRegion_Shop_Groups->getByentity_id($Shop_Controller_Show->group);
if(!is_null($oMultiRegion_Shop_Group) && !$oMultiRegion_Shop_Group->active)
{
$Shop_Controller_Show->error404();
return ;
}
}
$Shop_Controller_Show
->shopGroups()
->queryBuilder()
->leftJoin('multiregion_shop_groups','multiregion_shop_groups.entity_id','=','shop_groups.id', array(
array('AND' => array('multiregion_shop_groups.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_shop_groups.active', '=', 1)
->setOr()
->where('multiregion_shop_groups.id', 'IS', NULL)
->close();
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->leftJoin('multiregion_shop_items','multiregion_shop_items.entity_id','=','shop_items.id', array(
array('AND' => array('multiregion_shop_items.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_shop_items.active', '=', 1)
->setOr()
->where('multiregion_shop_items.id', 'IS', NULL)
->close();
}
// для ИС после ->parseUrl() вставьте
if(Core::moduleIsActive('multiregion'))
{
if($Informationsystem_Controller_Show->item)
{
$oMultiRegion_Informationsystem_Item = Core_Page::instance()->multiregion->MultiRegion_Informationsystem_Items->getByentity_id($Informationsystem_Controller_Show->item);
if(!is_null($oMultiRegion_Informationsystem_Item) && !$oMultiRegion_Informationsystem_Item->active)
{
$Informationsystem_Controller_Show->error404();
return ;
}
}
if($Informationsystem_Controller_Show->group)
{
$oMultiRegion_Informationsystem_Group = Core_Page::instance()->multiregion->MultiRegion_Informationsystem_Groups->getByentity_id($Informationsystem_Controller_Show->group);
if(!is_null($oMultiRegion_Informationsystem_Group) && !$oMultiRegion_Informationsystem_Group->active)
{
$Informationsystem_Controller_Show->error404();
return ;
}
}
$Informationsystem_Controller_Show
->informationsystemGroups()
->queryBuilder()
->leftJoin('multiregion_informationsystem_groups','multiregion_informationsystem_groups.entity_id','=','informationsystem_groups.id', array(
array('AND' => array('multiregion_informationsystem_groups.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_informationsystem_groups.active', '=', 1)
->setOr()
->where('multiregion_informationsystem_groups.id', 'IS', NULL)
->close();
$Informationsystem_Controller_Show
->informationsystemItems()
->queryBuilder()
->leftJoin('multiregion_informationsystem_items','multiregion_informationsystem_items.entity_id','=','informationsystem_items.id', array(
array('AND' => array('multiregion_informationsystem_items.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_informationsystem_items.active', '=', 1)
->setOr()
->where('multiregion_informationsystem_items.id', 'IS', NULL)
->close();
}
// для групп ИМ перед $Shop_Controller_Show->show() вставьте
Core::moduleIsActive('multiregion') && $Shop_Controller_Show
->shopGroups()
->queryBuilder()
->leftJoin('multiregion_shop_groups','multiregion_shop_groups.entity_id','=','shop_groups.id', array(
array('AND' => array('multiregion_shop_groups.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_shop_groups.active', '=', 1)
->setOr()
->where('multiregion_shop_groups.id', 'IS', NULL)
->close();
// для товаров ИМ перед $Shop_Controller_Show->show() вставьте
Core::moduleIsActive('multiregion') && $Shop_Controller_Show
->shopItems()
->queryBuilder()
->leftJoin('multiregion_shop_items','multiregion_shop_items.entity_id','=','shop_items.id', array(
array('AND' => array('multiregion_shop_items.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_shop_items.active', '=', 1)
->setOr()
->where('multiregion_shop_items.id', 'IS', NULL)
->close();
// для элементов ИС перед $Informationsystem_Controller_Show->show() вставьте
Core::moduleIsActive('multiregion') && $Informationsystem_Controller_Show
->informationsystemItems()
->queryBuilder()
->leftJoin('multiregion_informationsystem_items','multiregion_informationsystem_items.entity_id','=','informationsystem_items.id', array(
array('AND' => array('multiregion_informationsystem_items.multiregion_id','=', Core_Page::instance()->multiregion->id))
))
->open()
->where('multiregion_informationsystem_items.active', '=', 1)
->setOr()
->where('multiregion_informationsystem_items.id', 'IS', NULL)
->close();
Copy link
Outline