frizus / importyml
将 .yml 文件导入 Bitrix
0.9.1
2021-05-08 18:17 UTC
This package is auto-updated.
Last update: 2024-09-09 01:19:42 UTC
README
将 yml 文件导入 1С-Битрикс
安装
composer require frizus/importyml
描述
脚本支持导入具有以下结构的 UTF-8 yml 文件
<?xml version="1.0"?><!DOCTYPE yml_catalog SYSTEM "shops.dtd"> <yml_catalog date="2021-04-13 14:15"> <shop> <name>Интернет-магазин Бренд X</name> <company>Бренд X</company> <url>http://example.com</url> <platform>1C-Bitrix</platform> <currencies> <currency id="RUB" rate="1" /> </currencies> <categories> <category id="1">Категория 1</category> <category id="2" parentId="1">Подкатегория 1</category> ... </categories> <offers> <offer id="1" available="true"> <url>https://example.com/product-id1/</url> <price>500</price> <oldprice>600</oldprice> <currencyId>RUB</currencyId> <categoryId>1</categoryId> <picture>http://example.com/images/5bwa35naw35n.jpg</picture> <name>Товар</name> <description>Описание товара</description> <param name="Ширина">500</param> <param name="Глубина">400</param> <param name="Высота">300</param> </offer> ... </offers> </shop> </yml_catalog>
特点
- 仅支持货币
RUB,仅支持基础价格类型,仅支持三个参数:param[name="宽度"]、param[name="深度"]、param[name="高度"] - 可读字段
<offer>:offer[id]、<url>、<price>[,<oldprice>]、<currenncyId>、<categoryId>、<name>、<description>、<param> - 商品折扣
- 支持添加商品的字段/属性/价格/折扣,更新,以及删除 yml 文件中不存在的商品
- 使用前缀(元素的
外部代码和折扣的名称)来定义商品和折扣 - 可以按前缀删除所有创建的商品和折扣
- 将类别(
<categoryId>)绑定到现有目录分区 - 图片从本地目录加载
- 将商业报价合并为一个商品(报价通过相同的链接(
<url>)和 GET 参数)以及最低价格和合并参数(<param>) - 导入时输出调试信息相对不错。未通过 cron 调用
绑定类别
通过文件实现将 yml 文件中的类别绑定到信息块分区,其中绑定的 yml 类别前面是 = 符号(可配置),而绑定的分区后面是 = 符号
类别/分区路径由类别/分区名称和附加的祖先类别/分区组成,用 → 字符串分隔(可配置)
存在“无分区”的绑定,为此需要写入:类别 1 = (yml 文件中类别 1 的商品表示为无分区信息块的商品), = 分区 1(yml 文件中无类别的商品表示为绑定到信息块分区 1 的商品),=(yml 文件中无类别的商品表示为无分区信息块的商品)
可以生成带有 yml 文件类别名称和信息块分区的绑定文件占位符
Категория 1 = Раздел каталога 1
Категория 1 → Подкатегория 1 = Раздел каталога 1 → Подраздел 1