Поиск
Искать в:
Все решения  
  • Все решения
  • Интернет-магазины
    • Аспро: Next
    • Аспро: Оптимус
    • Аспро: Шины и диски, интернет-магазин
    • Аспро: Интернет-магазин
    • Аспро: Крутой шоп
    • Аспро: Маркет
  • Корпоративные сайты
    • Аспро: Приорити
    • Аспро: Корпоративный сайт 2.0
    • Аспро: Медицинский центр 2.0
    • Аспро: Digital-компания
    • Аспро: Курорт
    • Аспро: Стройка
    • Аспро: Сайт медицинского центра
    • Аспро: Корпорация
    • Аспро: Корпоративный сайт
    • Аспро: Корпоративный сайт современной компании
  • Модули
    • Аспро: Шинный калькулятор
    • Аспро: Кредитный калькулятор
    • Аспро: Универсальный импорт
  • 1С-Битрикс
    • Общее

Не получается выгрузить бренды из 1С

ID статьи: 63 , создана 04 Май 2016
В решениях «Аспро: Маркет» и «Аспро: Крутой шоп» бренды не импортируются автоматически при выгрузке из 1С, так как являются свойством-привязкой к элементу инфоблока.  Благодаря этому пользователи могут привязывать к брендам элементы других инфоблоков – например, соответствующие товары, которые пользователь будет видеть на странице конкретного производителя.

Решение

Инструкция и приведенные в ней фрагменты кода приведены для сайтов, установленных не в режиме многосайтовости. Если вам необходимо настроить выгрузку брендов из 1С для интернет-магазина с многосайтовостью, обратитесь к разработчикам или в поддержку для индивидуальной консультации. 

Важно! Инструкция предназначена для пользователей с уровнем знания php не ниже среднего. Если вы не владеете достаточными для этого знаниями и навыками, обратитесь в техподдержку за доработкой решения. 

Если вы хотите, чтобы бренды выгружались из 1С и автоматически синхронизировались с системой, необходимо отредактировать файл init.php, который находится в папке /bitrix/php_interface. Если файл отсутствует, создайте его и загрузите в указанную папку, а затем отредактируйте содержимое файла, прописав в нем фрагмент кода. Этот код позволит синхронизировать свойство загружаемого из 1С со свойством BRAND у решения.

Внимание! При проведении работ с настройками инфоблока запрещается удалять служебное свойство BRAND. В противном случае корректная работа функционала будет нарушена.  


Если выгрузка из 1С производится в новый инфоблок, необходимо создать это свойство вручную, сохранив соответствующие настройки (см. скриншот выше). После создания свойства перейдите в его настройки, чтобы привязать свойство BRAND к нужному инфоблоку.


Настоятельно рекомендуем вносить изменения через ftp и ни в коем случае не создавать файл init.php в структуре сайта инструментами 1С-Битрикс. Некорректный ввод или кастомизация кода приведет к полной потере работоспособности сайта. Прежде чем кастомизировать решение, обязательно проведите резервное копирование.

Пример кода:

  AddEventHandler( "iblock", "OnAfterIBlockElementAdd", array( "aspro_import", "FillTheBrands" ) );
	 AddEventHandler( "iblock", "OnAfterIBlockElementUpdate", array( "aspro_import", "FillTheBrands" ) );
	 class aspro_import {
	 	function FillTheBrands( $arFields ){
	 		$arCatalogID=array(13);
	 		if( in_array($arFields['IBLOCK_ID'], $arCatalogID) ){
	 			$arItem = CIBlockElement::GetList( false, array( 'IBLOCK_ID' => $arFields['IBLOCK_ID'], 'ID' => $arFields['ID'] ), false, false, array( 'ID', 'PROPERTY_BREND' ) )->fetch();
	 			if( $arItem['PROPERTY_BREND_VALUE'] ){
	 				$arBrand = CIBlockElement::GetList( false, array( 'IBLOCK_ID' => 8, 'NAME' => $arItem['PROPERTY_BREND_VALUE'] ) )->fetch();
	 				if( $arBrand ){
	 					CIBlockElement::SetPropertyValuesEx( $arFields['ID'], false, array( 'BRAND' => $arBrand['ID'] ) );
	 				}else{
	 					$el = new CIBlockElement;
	 					$arParams = array( "replace_space" => "-", "replace_other" => "-" );
	 					$id = $el->Add( array(
	 						'ACTIVE' => 'Y',
	 						'NAME' => $arItem['PROPERTY_BREND_VALUE'],
	 						'IBLOCK_ID' => 8,
	 						'CODE' => Cutil::translit( $arItem['PROPERTY_BREND_VALUE'], "ru", $arParams )
	 					) ); 			    
	 					if( $id ){
	 						CIBlockElement::SetPropertyValuesEx( $arFields['ID'], false, array( 'BRAND' => $id ) );
	 					}else{
	 						echo $el->LAST_ERROR;
	 					}
	 				}
	 			}
	 		}
	 	}
}

   
В код необходимо внести следующие изменения:

  • значение ID инфоблока каталога (переменная $arCatalogID) — соответствует ID инфоблока каталога вашего магазина. Узнать значение ID можно, к примеру, в настройках инфоблока каталога 


  • ID инфоблока «Бренды» (фрагмент, содержащий 'IBLOCK_ID' => 8, где 8 — это ID инфоблока «Бренды»). ID инфоблока «Бренды» указан в соответствующих настройках. 



  • Перейдите в список свойств инфоблока и найдите нужное свойство, выгруженное из 1С и соответствующее значению брендов. В нашем случае значение символьного кода – BREND. Скопируйте его.     


  • После этого нужно заменить символьные коды в фрагментах  вида 'PROPERTY_BREND' и 'PROPERTY_BREND_VALUE'. Вместо символьного кода свойства BREND, как в нашем случае, необходимо подставить свое значение. К примеру, если система использует код C3PO, то фрагменты должны принять вид  'PROPERTY_C3PO' и 'PROPERTY_C3PO_VALUE'.



Внимание! Для корректной работы сайта проверьте, заключен ли ваш код в специальные теги — в самом начале кода файла и в самом конце.

Выглядеть должно так:


  • Комментарии
Загрузка комментариев...

Тэги

1С-Битрис cdn custom.css favicon footer.php google maps Google Mobile Friendly Websites robot.txt SEO seo sku template.php title автокомпозит авторизация адаптивная верстка адаптивность таблиц активация 1С-Битрикс активное и подключенное свойство акции артикул товара баннеры бренды быстрый заказ валюта вкладки главная страница добавить поле добавить поле в форму заголовки изменение заглавие блока изменение текста в блоке изображения капча карта карта сайта карточка проекта карточка товара каталог товаров кеш классы стилей ключевые слова кодировка количество товара композит композитный сайт контакты корзина левое меню логотип магазины маркер на карте маска телефона медиабиблиотека меню местоположения микроразметка мобильная платформа модули модуль настроек название сайта наличие товара настройка настройка валют настройка веб-форм настройка инфоблоков настройка компонентов настройка свойств настройка списка настройки доступа настройки инфоблока настройки магазина настройки модулей настройки раздела нет в наличии новая цена новости номера обновление платформы обновление решения обратный звонок ограничения округление скидок основной баннер отзывы отзывы о товаре отображение свойств отображение товаров отсутствующие товары на складах оформление заказа ошибка 404 ошибка активации персональные рекомендации платежные системы подбор проектов подлинность лицензии поиск покупка без наличия покупка в 1 клик пользовательские свойства пользовательские скрипты похожие товары почтовые уведомления права доступа премодерация проекты разработчикам регистрация резервное копирование свойства заказа свойства инфоблока свойства раздела свойства товара связанные товары связи символьный код скидки скорость загрузки сайта скрыть товары в поиске сортировка социальные сервисы список пользователей способы доставки сравнение товаров статистика статьи структура сайта тайтл текст блока «Характеристики» текст в заголовке браузера тизеры типовые проекты типы цен товары в регионах торговые предложения умный фильтр условия гарантии услуги установка решения уязвимости файлы и папки фильтр по годам формы обратной связи формы редактирования форум хлебные крошки цен чпу шапка на мобильном