Подскажите, есть где нить пример, как импортируется с помощью custom/commerceML2.xls
поля типа symlink ?
сделал уже пробный вариант, чтобы хотя бы одно значение подтянул... но всё как то печально)
вкратце - из 1С я выгружаю guid товара, по нему, с помошью Usel запроса возвращаю page, и пытаюсь её засунуть в поле типа symlink.
<property id="415" name="recommended_items" type="symlink" allow-runtime-add="1">
<type name="Ссылка на дерево" data-type="symlink" multiple="multiple"/>
<title>Похожие товары</title>
<xsl:variable name="guid" select="recommended_items/ЗначениеРеквизита[Наименование = 'value']/Значение"/>
<value><xsl:value-of select="document(concat('usel://find_page/',$guid))/page" /> </value>
</property>
значение идентификатора 1С я получаю корректное и точное, результат usel запроса в браузере выглядит вот так:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="usel" method="find_page" generation-time="0.372685">
<page id="24367" parentId="24324" link="/katalog/stroitel_nye_smesi/suhie_smesi/shtukaturki/rotband_30_kg_shtukaturka_gipsovaya_knauf_40/" is-active="1" object-id="627741" type-id="840" update-time="1459146486" alt-name="rotband_30_kg_shtukaturka_gipsovaya_knauf_40" xlink:href="upage://24367">
<basetype id="56" module="catalog" method="object">Объекты каталога</basetype>
<name>Ротбанд 30 кг штукатурка гипсовая KNAUF/40</name>
</page>
<total>1</total>
</udata>
<!--
This page generated in 0.382658 secs by XSLT, HTTP SCHEME MODE
-->
А вот что с ним сделать дальше, знаний не хватает, дерево) Но вышеупомянутым способом он переменную не заполняет, а примеров в сети найти не смог (
Отдаваемый 1С кусок выглядит так:
<Товар>
<recommended_items>
<ЗначениеРеквизита>
<Наименование>value</Наименование>
<Значение>1908c00f-1851-48e2-a855-4d939759ab86</Значение>
</ЗначениеРеквизита>
Не вдаваясь сильно в подробности, ваш код не работает. Минимально
<xsl:value-of select="document(concat('usel://find_page/',$guid))/page" />
нужно заменить на
<xsl:value-of select="document(concat('usel://find_page/',$guid))/udata/page" />
был бы крайне признателен.
Потому как разобраться сходу, каков же механизм импорта, не получается... А примеров, или комментариев в коде - кот наплакал :/
Сейчас вот сижу, изучаю :
http://wiki.umisoft.ru/Пример_импорта_поля_типа_symlink_(ссылка_на_дерево)_в_UmiDump2.0
По ходу дела осознаю свои ошибки (если этот пример вообще рабочий, в чем я не уверен от слова вообще!))) , потому как тот юми-дамп, что выгружаю я при экспорте товара на сайт из 1С, немножко так отличается) списываю на то - что это вообще пример конкретно к симлинку относящийся...
добавил id свойства, добавил описание типа..<type name="Ссылка на дерево" data-type="symlink" multiple="multiple"/>
Насколько понимаю, необходимо дополнительно создавать секцию relations, и заполнять её айдишниками страницы импортируемой, и страниц ссылающихся.... завтра буду пробовать... надеюсь это всё таки хоть в какой-то мере реальный, рабочий пример ))))
<relations>
<relation page-id="135" field-name="recommend">
<page id="5"/>
</relation>
</relations>
ЗЫ. Внес изменения в первый пост(чтобы актуально было), завтра продолжу попытки именно из xsl заставить всё это работать, авось кому пригодится, а мне практика и бесценные знания)
В одном из ваших предыдущих постов, вы рекомендовали для отладки umidump, выгружать его в файл, вот таким способом:
file_put_contents(CURRENT_WORKING_DIR . '/1c_import_umidump.xml', $xml);
И вроде бы всё хорошо, но в сохраняемом файле, я не вижу ничего кроме цены, и 1с-guid объекта... При этом совершенно точно корректно импортируются ряд других полей, как-то участие в скидках, вес, особые свойства.
Так-же в файлике не вижу формируемой секции под symlink поле. . .
С тех давних пор , что то поменялось ?
Если опустить заголовок xml файла, то содержимое выглядит вот так, для каждого товара, и ничего кроме этого:
<page id="fbeca027-bb7d-11e3-bb50-00155d6e7701" update-only="1" is-active="0">
<properties>
<group name="cenovye_svojstva" title="Ценовые свойства">
<property name="price" title="Цена" type="price" is-public="1" allow-runtime-add="1">
<type data-type="price"/>
<title>Цена</title>
<value currency_code="RUR"><![CDATA[330]]></value>
</property>
</group>
<group name="catalog_stores_props" title="Склады">
<property name="common_quantity" title="Общее количество на складах" type="float" is-public="1" allow-runtime-add="1">
<type data-type="float"/>
<title>Общее количество на складах</title>
<value><![CDATA[0]]></value>
</property>
</group>
</properties>
</page>
ни полей h1/title, ничего вообще :/.... Как блин отладкой то заниматься, если не видишь ничего :(