Такая задача. На сайте у каждого товара в свой порядок отображения свойств элемента.
В 1С для каждой характеристики добавлено значение сортировака.
В import.xml поле сортировки добавлено
Вот товар запись в файле import.xml
У каждого свойства имеется поле сортировки - <ПорядковыйНомер>0</ПорядковыйНомер>
Хочу чтобы при выгрузке у элемента создалось свойство тип текстовый + описание.
В текстовое поле помещается символьный код свойства - а в описание значение порядковый номер.
Вот скриншот -
В файле /bitrix/modules/sale/admin/1c_exchange.php - вызывается сам компонент catalog.import.1c - -
А в самом компоненте происходит всего лишь вызов методом- создание временной таблицы, и запись в него.
А все основные операции, т.е добавление элементов и секций происходит в файле
/bitrix/www/bitrix/modules/iblock/classes/general/cml2.php
Планирую написать свой cml2.php, но для начала хочу разобраться как работает сам cml2.php.
- Подскажите в какой момент создаются свойства элемента и заполняются их значения, чтобы я мог кастомизировать под себя. ?
В методе ImportElement файле .../cml2.php тут вроде идет формирование массива.
Нашел место где вроде хранятся сами значения свойства - , в самом $value храниться массив что то в таком роде.
Не пойму где именно идет проверка и формирование именно свойств элемента , чтобы я мог вставить свой код.
Как мне сформировать массив код свойства в качестве значения - значение порядкового номера <ПорядковыйНомер>11</ПорядковыйНомер> чтобы пережд добавлением элемента уже вставить готовый массив с новым свойством.
Может кому приходилось делать такую задачу, ну или кто разбирался с принципом работы файла cml2.php
Заранее спасибо!
В 1С для каждой характеристики добавлено значение сортировака.
В import.xml поле сортировки добавлено
Вот товар запись в файле import.xml
| Код |
|---|
<Товар> <Ид>02fb221b-27e7-11e2-b688-78e3b518578c</Ид> <НомерВерсии>AAAAAAAAAAA=39782</НомерВерсии> <ПометкаУдаления>false</ПометкаУдаления> <Штрихкод/> <Артикул>44691</Артикул> <Наименование>Лента чековая 80х12х60 termo Люкс</Наименование> <БазоваяЕдиница>796</БазоваяЕдиница> <Группы> <Ид>16c8c8a4-f9dd-49f5-b925-703c6e6f156a</Ид> </Группы> <Описание>Внутренний диаметр втулки, мм: 12 Плотность, г/кв.м: 60 Ширина рулона, см: 80 </Описание> <Страна/> <ЗначенияСвойств> <ЗначенияСвойства> <Ид>1fab4dd2-4037-11e2-5586-78e3b518578c</Ид> <Значение>95 +/-1</Значение> <ПорядковыйНомер>11</ПорядковыйНомер> <ВыгружатьНаСайт>true</ВыгружатьНаСайт> </ЗначенияСвойства> <ЗначенияСвойства> <Ид>1bad35b1-4037-11e2-5586-78e3b518578c</Ид> <Значение>5</Значение> <ПорядковыйНомер>15</ПорядковыйНомер> <ВыгружатьНаСайт>true</ВыгружатьНаСайт> </ЗначенияСвойства> <ЗначенияСвойства> <Ид>ca4363ce-84cd-11e3-93f1-f01fafce7327</Ид> <Значение/> <ПорядковыйНомер>0</ПорядковыйНомер> <ВыгружатьНаСайт>false</ВыгружатьНаСайт> </ЗначенияСвойства> ... ... ... </ЗначенияСвойств> <Вес>0.23</Вес> </Товар> |
У каждого свойства имеется поле сортировки - <ПорядковыйНомер>0</ПорядковыйНомер>
Хочу чтобы при выгрузке у элемента создалось свойство тип текстовый + описание.
В текстовое поле помещается символьный код свойства - а в описание значение порядковый номер.
Вот скриншот -
В файле /bitrix/modules/sale/admin/1c_exchange.php - вызывается сам компонент catalog.import.1c - -
А в самом компоненте происходит всего лишь вызов методом- создание временной таблицы, и запись в него.
А все основные операции, т.е добавление элементов и секций происходит в файле
/bitrix/www/bitrix/modules/iblock/classes/general/cml2.php
Планирую написать свой cml2.php, но для начала хочу разобраться как работает сам cml2.php.
- Подскажите в какой момент создаются свойства элемента и заполняются их значения, чтобы я мог кастомизировать под себя. ?
В методе ImportElement файле .../cml2.php тут вроде идет формирование массива.
Нашел место где вроде хранятся сами значения свойства - , в самом $value храниться массив что то в таком роде.
| Код |
|---|
<Ид>1fab4dd2-4037-11e2-5586-78e3b518578c</Ид> <Значение>95 +/-1</Значение> <ПорядковыйНомер>11</ПорядковыйНомер> <ВыгружатьНаСайт>true</ВыгружатьНаСайт> |
Не пойму где именно идет проверка и формирование именно свойств элемента , чтобы я мог вставить свой код.
Как мне сформировать массив код свойства в качестве значения - значение порядкового номера <ПорядковыйНомер>11</ПорядковыйНомер> чтобы пережд добавлением элемента уже вставить готовый массив с новым свойством.
Может кому приходилось делать такую задачу, ну или кто разбирался с принципом работы файла cml2.php
Заранее спасибо!
murad30