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

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

Мультишоп

Мультишоп

Цена: 2 990

Более 10 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования 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)
{
// …
}

на один из блоков:

1. Для систем до версии 6.7.9

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. Для систем версии 6.7.9 и старше

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);

	if ($oMultishop_Group)
	{
		$oShop_Group_Clone = clone $oShop_Group;

		$oMultishop_Group->seo_group_title_template
			&& $oShop_Group_Clone->seo_group_title_template = $oMultishop_Group->seo_group_title_template;

		$oMultishop_Group->seo_group_description_template
			&& $oShop_Group_Clone->seo_group_description_template = $oMultishop_Group->seo_group_description_template;

		$oMultishop_Group->seo_group_keywords_template
			&& $oShop_Group_Clone->seo_group_keywords_template = $oMultishop_Group->seo_group_keywords_template;

		$oMultishop_Group->seo_item_title_template
			&& $oShop_Group_Clone->seo_item_title_template = $oMultishop_Group->seo_item_title_template;

		$oMultishop_Group->seo_item_description_template
			&& $oShop_Group_Clone->seo_item_description_template = $oMultishop_Group->seo_item_description_template;

		$oMultishop_Group->seo_item_keywords_template
			&& $oShop_Group_Clone->seo_item_keywords_template = $oMultishop_Group->seo_item_keywords_template;

		// Apply SEO templates
		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);

			$oShop_Item_Clone = clone $oShop_Item;

			if ($oMultishop_Item)
			{
				$oMultishop_Item->seo_title != ''
					&& $oShop_Item_Clone->seo_title = $oMultishop_Item->seo_title;

				$oMultishop_Item->seo_description != ''
					&& $oShop_Item_Clone->seo_description = $oMultishop_Item->seo_description;

				$oMultishop_Item->seo_keywords != ''
					&& $oShop_Item_Clone->seo_keywords = $oMultishop_Item->seo_keywords;
			}

			$oCore_Meta = new Core_Meta();
			$oCore_Meta
				->addObject('shop', $oShop)
				->addObject('group', $oShop_Group_Clone)
				->addObject('item', $oShop_Item_Clone)
				->addObject('this', $Shop_Controller_Show);

			// Title
			if ($oShop_Item_Clone->seo_title != '')
			{
				$seo_title = $oShop_Item_Clone->seo_title;
			}
			elseif ($oShop_Group_Clone->seo_item_title_template != '')
			{
				$seo_title = $oCore_Meta->apply($oShop_Group_Clone->seo_item_title_template);
			}
			else
			{
				$seo_title = $oShop_Item_Clone->name;
			}

			// Description
			if ($oShop_Item_Clone->seo_description != '')
			{
				$seo_description = $oShop_Item_Clone->seo_description;
			}
			elseif ($oShop_Group_Clone->seo_item_description_template != '')
			{
				$seo_description = $oCore_Meta->apply($oShop_Group_Clone->seo_item_description_template);
			}
			else
			{
				$seo_description = $oShop_Item_Clone->name;
			}

			// Keywords
			if ($oShop_Item_Clone->seo_keywords != '')
			{
				$seo_keywords = $oShop_Item_Clone->seo_keywords;
			}
			elseif ($oShop_Group_Clone->seo_item_keywords_template != '')
			{
				$seo_keywords = $oCore_Meta->apply($oShop_Group_Clone->seo_item_keywords_template);
			}
			else
			{
				$seo_keywords = $oShop_Item_Clone->name;
			}
 
			 Core_Page::instance()->title($seo_title);
			 Core_Page::instance()->description($seo_description);
			 Core_Page::instance()->keywords($seo_keywords); 
		}
		elseif ($Shop_Controller_Show->group)
		{
			$oCore_Meta = new Core_Meta();
			$oCore_Meta
				->addObject('shop', $oShop)
				->addObject('group', $oShop_Group_Clone)
				->addObject('this', $Shop_Controller_Show);

			// Title
			if ($oShop_Group_Clone->seo_title != '')
			{
				$seo_title = $oShop_Group_Clone->seo_title;
			}
			elseif ($oShop_Group_Clone->seo_group_title_template != '')
			{
				$seo_title = $oCore_Meta->apply($oShop_Group_Clone->seo_group_title_template);
			}
			else
			{
				$seo_title = $oShop_Group_Clone->name;
			}

			// Description
			if ($oShop_Group_Clone->seo_description != '')
			{
				$seo_description = $oShop_Group_Clone->seo_description;
			}
			elseif ($oShop_Group_Clone->seo_group_description_template != '')
			{
				$seo_description = $oCore_Meta->apply($oShop_Group_Clone->seo_group_description_template);
			}
			else
			{
				$seo_description = $oShop_Group_Clone->name;
			}

			 // Keywords
			 if ($oShop_Group_Clone->seo_keywords != '')
			 {
				$seo_keywords = $oShop_Group_Clone->seo_keywords;
			 }
			 elseif ($oShop_Group_Clone->seo_group_keywords_template != '')
			 {
				$seo_description = $oCore_Meta->apply($oShop_Group_Clone->seo_group_keywords_template);
			 }
			 else
			 {
				$seo_keywords = $oShop_Group_Clone->name;
			 }

			 Core_Page::instance()->title($seo_title);
			 Core_Page::instance()->description($seo_description);
			 Core_Page::instance()->keywords($seo_keywords);
		}
	}
}

Информация о разработчике:

  • Разработчик: Hostmake LLC
  • Вопросы по модулю: support@hostcms.ru
  • Поддержка: support@hostcms.ru

Скриншоты

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

Версия Дата Описание Версия от Версия до
2.6 07.02.2020

Добавлена украинская локализация

6.7.9
2.5 06.02.2019

Добавлена поддержка seo-шаблонов.

6.7.9
2.4 22.02.2018

Добавлена индексация поиска.

6.7.5
2.2 21.02.2018

Добавлено указание цены для других сайтов.

6.7.5
2.1 24.11.2017

Добавлена поддержка нескольких магазинов.

6.7.5
2.0 06.06.2017 6.7.0 6.7.4
Похожие

Комментарии

  • Без темы

    кто разработчик данного модуля? как связаться?

    24.11.2017 12:54:46 Puma

    Без темы

    Информация о разработчике добавлена.

    24.11.2017 13:35:18 alexander.egorov