yokel / gfeed
用于创建 XML 和 CSV 格式 feed 的类
v1.0
2020-05-13 10:12 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-23 21:46:09 UTC
README
用于创建 XML 和 CSV 格式 feed 的类
系统要求
- PHP 7 及以上
安装
通过 composer
composer require yokel/gfeed
使用
// Создать экземпляр класса $feed = new \Yokel\GFeed\GFeed(); // Указать идентификатор инфоблока с товарами // второй параметр - идентификатор родительского инфоблока (обязательный, если есть ТП) $feed->setIblockId(25, 24); // Указать название поля с ценой товара (для фильтрации - исключить товары с нулевой ценой) $feed->setPriceField('CATALOG_PRICE_1'); // Экспорт в xml $feed->export('/feed.xml'); // Экспорт в csv $feed->export('/feed.csv', \Yokel\GFeed\GFeed::FORMAT_CSV); // Экспорт в yml $feed->export('/feed.xml', \Yokel\GFeed\GFeed::FORMAT_YML);
常量
const PRODUCT_AVAILABLE_XML = 'в наличии'; const PRODUCT_NOT_AVAILABLE_XML = 'нет в наличии'; const PRODUCT_NEW_XML = 'новый'; const PRODUCTS_AVAILABLE_CSV = 'in stock'; const PRODUCTS_NOT_AVAILABLE_CSV = 'out of stock'; const PRODUCT_NEW_CSV = 'new'; const FORMAT_XML = 'xml'; const FORMAT_CSV = 'csv'; const FORMAT_YML = 'yml';
字段映射
向创建的 xml/csv 文件中添加或重定义字段
// Добавляет маппинг для xml function addMappingXml($name, $value) // Добавляет маппинг для csv function addMappingCsv($name, $value) // Добавляет маппинг для yml function addMappingYml($name, $value) // Добавляет маппинг для всех function addMappingAll($name, $value)
- $name - 文件中字段的名称
- $value - 字段的值
使用示例
- 简单类型
// Подставляет значение 567 в поле google_product_category $feed->addMappingCsv('google_product_category', '567');
- 宏
// Подставляет значение поля SECTION_CODE из товара в поле custom_label_0 в файле $feed->addMappingXml('custom_label_0', 'element.SECTION_CODE'); //или $feed->addMappingXml('custom_label_0', '.SECTION_CODE'); // Подставляет значение поля SECTION_CODE из родительского товара (для ТП) $feed->addMappingXml('custom_label_0', 'parent.SECTION_CODE');
商品可用的宏
.ID - 商品在信息块中的 id
.NAME - 商品名称
.SECTION_ID - 信息块中分区的 id
.SECTION_CODE - 信息块中分区的代码
.LINK - 商品卡片链接
.IMG - 商品图片链接 (PREVIEW_PICTURE 或 DETAIL_PICTURE 或 MORE_PHOTO 中的第一个)
.TEXT - 商品描述 (PREVIEW_TEXT 或 DETAIL_TEXT)
父商品可用的宏
parent.ID - 信息块中父商品的 id
parent.NAME - 父商品名称
parent.SECTION_ID - 父商品信息块中分区的 id
parent.SECTION_CODE - 父商品信息块中分区的代码
parent.LINK - 父商品卡片链接
parent.TEXT - 父商品描述 (PREVIEW_TEXT 或 DETAIL_TEXT)
- 计算值
// $item - товар из инфоблока $feed->addMappingAll('description', function ($item) { return $item['PARENT']['PROPS']['DESCRIPTION']['VALUE']['TEXT']; });