bitrix-catalog
Installation
SKILL.md
Trade catalog (catalog)
Baseline: main 23.0+ · Verified: catalog 26.400.0, main 26.800.0
Product ID = iblock element ID. Needs iblock + catalog loaded. Cart, orders, payments → bitrix-sale; elements and properties → bitrix-iblocks.
API choice
| Need | Use |
|---|---|
| Read product/price/store rows | ProductTable, PriceTable, StoreProductTable, CatalogIblockTable (ORM) |
| Write product fields (qty, type, VAT) | Model\Product::add/update — recalculates AVAILABLE, parent SKU type/availability, sets, subscriptions |
| Write prices | Model\Price::add/update/delete — computes PRICE_SCALE, validates currency, recounts parent SKU prices |
| Register catalog iblock | CCatalog::Add/Update (no D7 writer) |
| Legacy, compat only | CCatalogProduct, CPrice, CCatalogSku helpers |
Never write ProductTable/PriceTable directly: PriceTable::add() without PRICE_SCALE fails validation, and direct writes skip availability and SKU recalculation.