Допустим, вы парсите товары в XML/YML файл и вам нужно создать в “шапке” XML структуру категорий (с id и parentId).
1 2 3 4 5 6 7 8 | ... <categories> <category id="1">Бытовая техника</category> <category id="10" parentId="1">Мелкая техника для кухни</category> <category id="101" parentId="10">Сэндвичницы и приборы для выпечки</category> <category id="102" parentId="10">Мороженицы</category> </categories> ... |
Для добавления рубрик в структуру есть макрос шаблона вывода [XMLCATBUILDER]
1 | [XMLCATBUILDER]{CATSEP}/{/CATSEP}{HEADERTAGPARAMS}category|id|parentId{/HEADERTAGPARAMS}Рубрика/Подрубрика/Подподрубрика[/XMLCATBUILDER] |
Параметр {CATSEP}/{/CATSEP}, где его значение /, задает разделитель рубрик и подрубрик на входе.
Как мы видим, рубрика/подрубрика/подподрубрика у нас заданы с разделителем /. Если на входе рубрики от подрубрик отделены другими символами, пропишите другой разделитель в параметр {CATSEP}.
Параметр {HEADERTAGPARAMS} задает имя XML тега и имена его параметров для вывода структуры в шапку XML (этот параметр можно не вводить).
1 | [XMLCATBUILDER]{CATSEP}/{/CATSEP}Рубрика/Подрубрика/Подподрубрика[/XMLCATBUILDER] |
ВНИМАНИЕ: Id рубрики выводится на месте работы макроса [XMLCATBUILDER] (как и нужно)!
Для вывода в “шапку” XML накопленной структуры XML тегов с рубриками используется макрос [XMLCATSTRUCTURE].
Накопленную XML структуру категорий нужно выводить при завершении парсинга контента таким образом:
1 | [ADDFINALDOCUMENT][URL][BLANK][/URL][TEMPLATE][XMLADD(Имя ранее подключенного XML|0)][XMLCATSTRUCTURE][/XMLADD][/TEMPLATE][/ADDFINALDOCUMENT] |
Где:
[ADDFINALDOCUMENT] – создает последний документ при парсинге во вкладке “контент” с указанным шаблоном вывода в параметре [TEMPLATE]
[XMLADD(Имя ранее подключенного XML|0)][XMLCATSTRUCTURE][/XMLADD] – добавляет накопленную XML структуру рубрик в “шапку” ранее подключенного XML с помощью макроса [LOADXML] (куда вы парсите)
Сохранение накопленных значений [XMLCATSTRUCTURE] (включая имена рубрик и их id и parentId) производится с помощью этой опции
Для контроля загрузки и записи данных [XMLCATSTRUCTURE] смотрите лог парсинга
Смотрите также:
– Подключение XML-файлов к шаблону вывода (для дозаписи, макросы: [LOADXML], [XMLADD])