Выдана 110031 лицензия

Магазин приложений HostCMS

Мультишоп

Мультишоп

Цена: 1 990

Менее 50 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Позволяет публиковать один магазин на нескольких сайтах, при этом для товара и группы товаров задаются свои уникальные значения для каждого сайта.

Опции групп товаров

Группам товаров допускается указание для каждого сайта:

  • название (если не указано, будет использоваться основное);
  • описание группы (если не указано, будет использоваться основное);
  • мета-тег title;
  • мета-тег description;
  • мета-тег keywords.

Опции товаров

Товарам допускается указание для каждого сайта:

  • название (если не указано, будет использоваться основное);
  • описание товара (если не указано, будет использоваться основное);
  • текст товара (если не указан, будет использоваться основное);
  • мета-тег title;
  • мета-тег description;
  • мета-тег keywords.

Публикация магазина на других сайтах

Стандартная типовая динамическая страница магазина имеет ограничение на публикацию магазинов только текущего сайта.

Чтобы убрать это ограничение, перейдите Структура сайта → Типовые динамические страницы.

Найдите динамическую страницу, которую будете использовать для магазина, справа нажмите на пиктограмму в столбце «Параметры».

Отредактируйте опцию «Идентификатор магазина» и в секции SQL-запрос строку:

WHERE `site_id` = '{SITE_ID}' AND `deleted` = 0

замените на:

WHERE `deleted` = 0

далее нажмите сохранить.

Вернитесь в список типовых динамических страниц и отредактируйте саму типовую динамическую страницу сайта, на вкладке «Настройки страницы» замените блок:

if ($Shop_Controller_Show->group)
{
// …
}

if ($Shop_Controller_Show->item)
{
// …
}

на:

if ($Shop_Controller_Show->group)
{
    $oShop_Group = Core_Entity::factory('Shop_Group', $Shop_Controller_Show->group);

    // Получаем данные для текущего сайта
    $oMultishop_Group_Controller = new Multishop_Group_Controller();
    $oMultishop_Group = $oMultishop_Group_Controller->getMultishopGroup(CURRENT_SITE, $Shop_Controller_Show->group);
    
    $oSeo_Group = $oMultishop_Group ? $oMultishop_Group : $oShop_Group;
    
    $bGroupTitle = $oSeo_Group->seo_title != '';
    $bGroupDescription = $oSeo_Group->seo_description != '';
    $bGroupKeywords = $oSeo_Group->seo_keywords != '';

    if (!$Shop_Controller_Show->item)
    {
        $bGroupTitle && Core_Page::instance()->title($oSeo_Group->seo_title);
        $bGroupDescription && Core_Page::instance()->description($oSeo_Group->seo_description);
        $bGroupKeywords && Core_Page::instance()->keywords($oSeo_Group->seo_keywords);
    }

    do {
    ($Shop_Controller_Show->item || !$bGroupTitle) && $aTitle[] = $oShop_Group->name;

    ($Shop_Controller_Show->item || !$bGroupDescription) && $aDescription[] = $oShop_Group->name;

    ($Shop_Controller_Show->item || !$bGroupKeywords) && $aKeywords[] = $oShop_Group->name;

    } while($oShop_Group = $oShop_Group->getParent());
}

if ($Shop_Controller_Show->item)
{
    $oShop_Item = Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item);

    // Получаем данные для текущего сайта
    $oMultishop_Item_Controller = new Multishop_Item_Controller();
    $oMultishop_Item = $oMultishop_Item_Controller->getMultishopItem(CURRENT_SITE, $Shop_Controller_Show->item);
    
    $oSeo_Item = $oMultishop_Item ? $oMultishop_Item : $oShop_Item;
    
    $oSeo_Item->seo_title != ''
        ? Core_Page::instance()->title($oSeo_Item->seo_title)
        : $aTitle[] = $oShop_Item->name;

    $oSeo_Item->seo_description != ''
        ? Core_Page::instance()->description($oSeo_Item->seo_description)
        : $aDescription[] = $oShop_Item->name;

    $oSeo_Item->seo_keywords != ''
        ? Core_Page::instance()->keywords($oSeo_Item->name)
        : $aKeywords[] = $oShop_Item->name;
}

Скриншоты

Версии модуля

Версия Дата Описание Версия от Версия до
2.0 06.06.2017 6.7.0
Похожие