ะ
เดจเดฟเดฐเดพเดเดฐเดฃเด: Magento-เดจเต เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดคเดฏเตเดฃเตเดเต
เดฐเดฃเตเดเต เดฒเตเดเดจเดเตเดเดณเตเด เดเดดเตเดคเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดซเดฒเดฎเดพเดฏเตเดฃเตเดเดพเดเตเดจเตเดจ เดเตเดกเต Magento เดฎเตเดกเตเดฏเตเดณเดฟเตฝ เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด "
- เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ เดธเตเดทเตโเดเดฟเดเตเดเดชเตเดชเตเดเตเดเดตเดฏเดพเดฃเต, เด เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตโเดคเดฟเดเตเดเดฟเดฒเตเดฒ.
- เดเดฐเต เดตเตเดฏเตผเดนเตเดธเต
- เดตเดฟเดญเดพเดเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเตเดเตพ เดฎเดพเดคเตเดฐเดฎเต เด เดตเดฏเตเดเต เดเดเดจเดฏเดฟเดฒเตเดฒเดพเดคเต เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตเดคเดฟเดเตเดเตเดณเตเดณเต
- เดกเดพเดฑเตเดฑเดพ เดเดเดจเดเตพ เดชเดคเดฟเดชเตเดชเต 2.3 เดจเต เด เดจเตเดธเตเดคเดฎเดพเดฃเต
เดเดฐเตเดฑเตเดฑ เดเตฝเดชเตเดชเดจเตเดจเด เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต JSON:
{
"sku": "MVA20D-UBV-3",
"name": "ะะฐะณะปััะบะฐ ะดะปั ะฟะปะพะผะฑะธัะพะฒะบะธ ะะ47-29 IEK",
"desc": "ะะฑะตัะฟะตัะตะฝะธะต ะดะพัััะฟะฐ ะบ ััััะพะนััะฒะฐะผ ...",
"desc_short": "ะะฐะณะปััะบะฐ ะดะปั ะฟะปะพะผะฑะธัะพะฒะบะธ ะะ47-29 IEK ะฟัะตะดะฝะฐะทะฝะฐัะตะฝะฐ ะดะปั ...",
"price": 5.00,
"qty": 25,
"categories": ["ะะฐัะตะณะพัะธั 1", "ะะฐัะตะณะพัะธั 2"],
"image_path": "mva20d_ubv_3.png"
}
เดเดฑเดเตเดเตเดฎเดคเดฟเดฏเตเดเต เดชเตเดฐเดงเดพเดจ เดเดเตเดเดเตเดเดณเตเดเต เด เดตเดฒเตเดเดจเด
- เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเตเดฑเต เดคเดจเตเดจเต เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป
- เดเตฝเดชเตเดชเดจเตเดจเดตเตเด เดตเตเดฌเตเดธเตเดฑเตเดฑเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด
- เด เดเดฟเดธเตเดฅเดพเดจ เดเตฝเดชเตเดชเดจเตเดจ เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเตเดเตพ (EAV)
- เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ (เดธเตเดฑเตเดฑเตเดเตเดเดฟเดฒเตเดณเตเดณ เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเตเดฑเต เด เดณเดตเต)
- เดฎเดพเดงเตเดฏเดฎเด (เดเดฟเดคเตเดฐเดเตเดเตพ)
- เดเดพเดฑเตเดฑเดฒเตเดเต เดตเดฟเดญเดพเดเดเตเดเดณเตเดฎเดพเดฏเตเดณเตเดณ เดฌเดจเตเดงเด
เดเตฝเดชเตเดชเดจเตเดจ เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป
เด
เดเดฟเดธเตเดฅเดพเดจ เดเตฝเดชเตเดชเดจเตเดจ เดตเดฟเดตเดฐเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดพเดจเดพเดเตเด catalog_product_entity
:
CREATE TABLE `catalog_product_entity` (
`entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Entity Id',
`attribute_set_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attribute Set ID',
`type_id` varchar(32) NOT NULL DEFAULT 'simple' COMMENT 'Type ID',
`sku` varchar(64) DEFAULT NULL COMMENT 'SKU',
`has_options` smallint(6) NOT NULL DEFAULT '0' COMMENT 'Has Options',
`required_options` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Required Options',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Creation Time',
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Update Time',
PRIMARY KEY (`entity_id`),
KEY `CATALOG_PRODUCT_ENTITY_ATTRIBUTE_SET_ID` (`attribute_set_id`),
KEY `CATALOG_PRODUCT_ENTITY_SKU` (`sku`)
)
เดเตฝเดชเตเดชเดจเตเดจ เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเตฝ เดเดฐเต เดเตปเดเตเดฐเดฟ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเด เดตเดฟเดตเดฐเดเตเดเตพ:
attribute_set_id
sku
เด เดงเดฟเด:
type_id
- เดเดเตเดเตพ เด เดคเต เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, 'เดฒเดณเดฟเดคเด' เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเต เดจเตเดฐเดฟเดเตเดเต เดเดดเตเดคเดพเตป, เดเดพเตป Magento-เดฏเตเดเต DB เด เดกเดพเดชเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต:
function create($sku, $typeId, $attrSetId)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_product_entity');
$bind = [
'sku' => $sku,
'type_id' => $typeId,
'attribute_set_id' => $attrSetId
];
$conn->insert($table, $bind);
$result = $conn->lastInsertId($table);
return $result;
}
เดเตฝเดชเตเดชเดจเตเดจเด เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดค เดถเตเดทเด catalog_product_entity
เดเดคเต เด
เดกเตโเดฎเดฟเตป เดชเดพเดจเดฒเดฟเตฝ, เดเตฝเดชเตเดชเดจเตเดจ เดเตเดฐเดฟเดกเดฟเตฝ เดฆเตเดถเตเดฏเดฎเดพเดเตเด (เดเดพเดฑเตเดฑเดฒเตเดเต/เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ).
เดเตฝเดชเตเดชเดจเตเดจเดตเตเด เดตเตเดฌเตเดธเตเดฑเตเดฑเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด
เดธเตเดฑเตเดฑเตเดฎเดพเดฏเตเดณเตเดณ เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเตเดฑเต เดฌเดจเตเดงเด เดเดคเต เดธเตเดฑเตเดฑเตเดฑเตเดเดณเดฟเดฒเตเด เดกเดฟเดธเตเดชเตเดฒเตเดเดณเดฟเดฒเตเด เดเตฝเดชเตเดชเดจเตเดจเด เดฎเตเตปเดตเดถเดคเตเดคเต เดฒเดญเตเดฏเดฎเดพเดเตเดฎเตเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต.
function linkToWebsite($prodId, $websiteId)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_product_website');
$bind = [
'product_id' => $prodId,
'website_id' => $websiteId
];
$conn->insert($table, $bind);
}
เด เดเดฟเดธเตเดฅเดพเดจ เดเตฝเดชเตเดชเดจเตเดจ เดเตเดฃเดเตเดเตพ
เดชเตเดคเตเดคเดพเดฏเดฟ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดค เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเต เดเดคเตเดตเดฐเต เดชเตเดฐเต เดตเดฟเดตเดฐเดฃเดฎเต เดเดฒเตเดฒ. เดเดคเดฟเดฒเตเดเตเดฏเดพเดฃเต เดเดฒเตเดฒเดพเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต
name
price
description
short_description
status
tax_class_id
url_key
visibility
เดเดคเตเดชเตเดฒเตเดณเตเดณ เดเดฐเต เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดเตเตผเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต (เด เดคเดฟเดจเตเดฑเต เดเตเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเดฟเดจเตเดฑเต เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเตเด เดคเดฐเดตเตเด เดจเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดเดดเดฟเดตเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต):
public function create($prodId, $attrCode, $attrValue)
{
$attrId = /* get attribute ID by attribute code */
$attrType = /* get attribute type [datetime|decimal|int|text|varchar]) by attribute code */
if ($attrId) {
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$tblName = 'catalog_product_entity_' . $attrType;
$table = $this->resource->getTableName($tblName);
$bind = [
'attribute_id' => $attrId,
'entity_id' => $prodId,
/* put all attributes to default store view with id=0 (admin) */
'store_id' => 0,
'value' => $attrValue
];
$conn->insert($table, $bind);
}
}
เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต, เดเดเตเดเตพ เด
เดคเดฟเดจเตเดฑเต เดเดกเดฟเดฏเตเด เดกเดพเดฑเตเดฑ เดคเดฐเดตเตเด เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต (datetime
, decimal
, int
, text
, varchar
), เดคเตเดเตผเดจเตเดจเต เด
เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตเดตเต เดตเดฟเตปเดกเตเดฏเตเดเตเดเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดเดเดฟเดคเดฎเดพเดฏ เดชเดเตเดเดฟเดเดฏเดฟเดฒเตเดเตเดเต เดเดดเตเดคเตเด (store_id = 0
).
เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเตเดเตพ เดเตเตผเดคเตเดคเดคเดฟเดจเต เดถเตเดทเด, เด เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เด เดเดฟเดคเตเดฐเด เดฒเดญเดฟเดเตเดเตเด:
เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ
Magento-เดฏเดฟเดฒเต เดชเดคเดฟเดชเตเดชเต 2.3 เดฎเตเดคเตฝ, เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดตเดฟเดตเดฐเดเตเดเดณเตเดเต (เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเตเดฑเต เด เดณเดตเต) เดธเดเดญเดฐเดฃเด เดจเตฝเดเตเดจเตเดจ เดฐเดฃเตเดเต เดธเดฎเดพเดจเตเดคเดฐ เดชเดเตเดเดฟเดเดเตพ เดเดฃเตเดเต:
cataloginventory_*
: เดชเดดเดฏ เดเดเดจ;inventory_*
: เดชเตเดคเดฟเดฏ เดเดเดจ (MSI - เดฎเตพเดเตเดเดฟ เดธเตเดดเตเดธเต เดเตปเดตเตเดจเตเดฑเดฑเดฟ);
เดฐเดฃเตเดเต เดเดเดจเดเดณเดฟเดฒเตเดเตเดเตเด เดจเดฟเดเตเดเตพ เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต, เดเดพเดฐเดฃเด เดชเตเดคเดฟเดฏ เดเดเดจ เดเดคเตเดตเดฐเต เดชเดดเดฏเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟเดเตเดเดฟเดฒเตเดฒ (เด
เดคเดฟเดจเต เดตเดณเดฐเต เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดเต default
เดชเตเดคเดฟเดฏ เดเดเดจเดฏเดฟเตฝ เดเดฐเต เดเตเดฌเดฟเตพ เดเตพเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดตเตเดฏเตผเดนเตเดธเต cataloginventory_stock_status
เดชเตเดพเดฒเต inventory_stock_1
).
เดเดพเดฑเตเดฑเดฒเตเดเต เดเตปเดตเตเดจเตเดฑเดฑเดฟ_
เดฎเดพเดเตเดจเตเดฑเตเดฑเต 2.3 เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฎเตเดเตเดเต เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ 2 เดเตปเดเตเดฐเดฟเดเตพ เดเดฃเตเดเต store_website
, เดเดคเต เดฐเดฃเตเดเต เดธเตเดฑเตเดฑเตเดเดณเตเดฎเดพเดฏเดฟ เดฏเตเดเดฟเดเตเดเตเดจเตเดจเต - เด
เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตเดตเต, เดชเตเดฐเดงเดพเดจ เดเตเดฒเดฏเดจเตเดฑเต:
website_id|code |name |sort_order|default_group_id|is_default|
----------|-----|------------|----------|----------------|----------|
0|admin|Admin | 0| 0| 0|
1|base |Main Website| 0| 1| 1|
เดฎเตเดถ cataloginventory_stock
เดเดเตเดเตพเดเตเดเต เดเดฐเต เดเตปเดเตเดฐเดฟ เดฎเดพเดคเตเดฐเดฎเตเดฏเตเดณเตเดณเต:
stock_id|website_id|stock_name|
--------|----------|----------|
1| 0|Default |
เด
เดคเดพเดฏเดคเต, เดจเดฎเตเดฎเตเดเต เดชเดดเดฏ เดเดเดจเดฏเดฟเตฝ เดเดฐเต "เดตเตเดฏเตผเดนเตเดธเต" เดฎเดพเดคเตเดฐเดฎเต เดเดณเตเดณเต (stock
) เดเตเดเดพเดคเต เดเดคเต เด
เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตเดตเต เดตเตเดฌเตโเดธเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดฒเดฟเดเตเดเต เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เด
เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเตเดเต เดชเตเดคเดฟเดฏเดต เดเตเตผเดเตเดเตเดจเตเดจเต sources
/stocks
MSI-เตฝ (เดชเตเดคเดฟเดฏ เดเดเดจ) เดชเตเดคเดฟเดฏ เดเตปเดเตเดฐเดฟเดเตพเดเตเดเต เดเดพเดฐเดฃเดฎเดพเดเดฟเดฒเตเดฒ cataloginventory_stock
.
เดชเดดเดฏ เดเดเดจเดฏเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดชเดเตเดเดฟเดเดเดณเดฟเตฝ เดฐเตเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต:
cataloginventory_stock_item
cataloginventory_stock_status
cataloginventory_stock_item
function createOldItem($prodId, $qty)
{
$isQtyDecimal = (((int)$qty) != $qty);
$isInStock = ($qty > 0);
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('cataloginventory_stock_item');
$bind = [
'product_id' => $prodId,
/* we use one only stock in 'cataloginventory' structure by default */
'stock_id' => 1,
'qty' => $qty,
'is_qty_decimal' => $isQtyDecimal,
'is_in_stock' => $isInStock,
/* default stock is bound to admin website (see `cataloginventory_stock`) */
'website_id' => 0
];
$conn->insert($table, $bind);
}
cataloginventory_stock_status
function createOldStatus($prodId, $qty)
{
$isInStock = ($qty > 0);
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('cataloginventory_stock_status');
$bind = [
'product_id' => $prodId,
/* we use one only stock in 'cataloginventory' structure by default */
'stock_id' => 1,
'qty' => $qty,
'stock_status' => MagentoCatalogInventoryApiDataStockStatusInterface::STATUS_IN_STOCK,
/* default stock is bound to admin website (see `cataloginventory_stock`) */
'website_id' => 0
];
$conn->insert($table, $bind);
}
เดเตปเดตเตเดจเตเดฑเดฑเดฟ_
เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ, เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดคเดฟเดฏ เดเดเดจเดฏเดฟเตฝ 1 " เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเตเดเดฑเดตเดฟเดเด"(inventory_source
):
source_code|name |enabled|description |latitude|longitude|country_id|...|
-----------|--------------|-------|--------------|--------|---------|----------|...|
default |Default Source| 1|Default Source|0.000000| 0.000000|US |...|
เดชเดฟเดจเตเดจเต เดเดจเตเดจเต "เดตเตเดฏเตผเดน house เดธเต"(inventory_stock
):
stock_id|name |
--------|-------------|
1|Default Stock|
ยซเดเดฑเดตเดฟเดเดยป เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพเดเตเดเดพเดฏเตเดณเตเดณ เดซเดฟเดธเดฟเดเตเดเตฝ เดธเตเดฑเตเดฑเตเดฑเตเดเดฟเดจเต เดชเตเดฐเดคเดฟเดจเดฟเดงเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต (เดฐเตเดเดฏเดฟเตฝ เดซเดฟเดธเดฟเดเตเดเตฝ เดเตเตผเดกเดฟเดจเตเดฑเตเดฑเตเดเดณเตเด เดฎเตเดฏเดฟเดฒเดฟเดเดเต เดตเดฟเดฒเดพเดธเดตเตเด เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต). "เดตเตเดฏเตผเดน house เดธเต"เดจเดฟเดฐเดตเดงเดฟ "เดธเตเดฐเตเดคเดธเตเดธเตเดเดณเตเดเต" เดเดฐเต เดฒเตเดเดฟเดเตเดเตฝ เดฏเตเดฃเดฟเดฏเดจเดพเดฃเต (inventory_source_stock_link
)
link_id|stock_id|source_code|priority|
-------|--------|-----------|--------|
1| 1|default | 1|
เดธเตเดฏเดฟเตฝเดธเต เดเดพเดจเดฒเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฃเดเตเดทเตป เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจ เดคเดฒเดคเตเดคเดฟเตฝ (inventory_stock_sales_channel
)
type |code|stock_id|
-------|----|--------|
website|base| 1|
เดกเดพเดฑเตเดฑเดพ เดเดเดจ เด
เดจเตเดธเดฐเดฟเดเตเดเต, เดตเดฟเดตเดฟเดง เดคเดฐเด เดตเดฟเตฝเดชเตเดชเดจ เดเดพเดจเดฒเตเดเตพ เด
เดจเตเดฎเดพเดจเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดเดฃเดเตเดทเตป เดฎเดพเดคเตเดฐเด "เดธเดเดญเดฐเดฟเดเตเดเตเด"-"เดตเตเดฌเตเดธเตเดฑเตเดฑเต"(เดตเตเดฌเตโเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเต เดตเตเดฌเตโเดธเตเดฑเตเดฑเต เดเตเดกเดฟเดจเต เดชเดฟเดจเตเดคเตเดเดฐเตเดจเตเดจเต - base
).
เดเดจเตเดจเต "เดตเตเดฏเตผเดน house เดธเต"เดชเดฒเดคเดฟเดฒเตเดเตเดเต เดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเดพเด"เดเดฑเดตเดฟเดเดเตเดเตพ"เดชเดฟเดจเตเดจเต เดเดจเตเดจเต "เดเดฑเดตเดฟเดเด"- เดชเดฒเดคเดฟเดฒเตเดเตเดเต"เดธเดเดญเดฐเดฃเดถเดพเดฒเดเตพ"(เดจเดฟเดฐเดตเดงเดฟ-เดชเดฒ เดฌเดจเตเดงเด). เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดกเดฟเดซเตเตพเดเตเดเดพเดฃเต "เดเดฑเดตเดฟเดเด"เดเตเดเดพเดคเต"เดตเตเดฏเตผเดน house เดธเต". เด
เดต เดฎเดฑเตเดฑเต เดเดจเตเดฑเดฟเดฑเตเดฑเดฟเดเดณเตเดฎเดพเดฏเดฟ เดตเตเดฃเตเดเตเด เดฒเดฟเดเตเดเต เดเตเดฏเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ (เดเตเดกเต เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดฐเดฟเดฎเดฟเดคเดฟ - เดชเดฟเดถเดเต "เดกเดฟเดซเตเตพเดเตเดเต เดธเตเดดเตเดธเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดกเดฟเดซเตเตพเดเตเดเต เดธเตเดฑเตเดฑเตเดเตเดเต เดเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดฒเดฟเดเตเดเต เดธเดเดฐเดเตเดทเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ"). Magento 2 เดฒเต MSI เดเดเดจเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเด "
เดเดพเตป เดกเดฟเดซเตเตพเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเดฒเตเดฒเดพ เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดตเดฟเดตเดฐเดเตเดเดณเตเด เดเดฑเดตเดฟเดเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด default
, เดเตเดกเตเดณเตเดณ เดตเตเดฌเตโเดธเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดตเดฟเตฝเดชเตเดชเดจ เดเดพเดจเดฒเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต base
(เดธเตเดฑเตเดฑเตเดฑเดฟเดจเตเดฑเต เดฎเตเตปเดญเดพเดเดตเตเดฎเดพเดฏเดฟ เดฏเตเดเดฟเดเตเดเตเดจเตเดจเต - เดเดพเดฃเตเด store_website
):
function createNewItem($sku, $qty)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('inventory_source_item');
$bind = [
'source_code' => 'default',
'sku' => $sku,
'quantity' => $qty,
'status' => MagentoInventoryApiApiDataSourceItemInterface::STATUS_IN_STOCK
];
$conn->insert($table, $bind);
}
เด เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตปเดตเตเดจเตเดฑเดฑเดฟ เดกเดพเดฑเตเดฑ เดเตเตผเดคเตเดค เดถเตเดทเด, เดจเดฟเดเตเดเตพเดเตเดเต เด เดเดฟเดคเตเดฐเด เดฒเดญเดฟเดเตเดเตเด:
เดฎเตเดกเดฟเดฏ
เด เดกเตโเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเตเดเต เดเดฐเต เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดเดฟเดคเตเดฐเด "เดธเตเดตเดฎเตเดงเดฏเดพ" เดเตเตผเดเตเดเตเดฎเตเดชเตเตพ, เดชเตเดฐเดธเดเตเดคเดฎเดพเดฏ เดตเดฟเดตเดฐเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดเตเดเดฟเดเดเดณเดฟเตฝ เดเดดเตเดคเตเดจเตเดจเต:
catalog_product_entity_media_gallery
: เดฎเตเดกเดฟเดฏ เดฐเดเดฟเดธเตเดเตเดฐเดฟ (เดเดฟเดคเตเดฐเดเตเดเดณเตเด เดตเตเดกเดฟเดฏเต เดซเดฏเดฒเตเดเดณเตเด);catalog_product_entity_media_gallery_value
: เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดทเตเดเตเดธเตเดเดณเดฟเดฒเตเดเตเดเตเด เดฎเตเดกเดฟเดฏเดฏเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต (เดชเตเดฐเดพเดฆเตเดถเดฟเดเดตเตฝเดเตเดเดฐเดฃเด);catalog_product_entity_media_gallery_value_to_entity
: เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเด เดฎเตเดกเดฟเดฏเดฏเต เดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต (เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดกเดฟเดซเตเตพเดเตเดเต เดฎเตเดกเดฟเดฏ เดเดณเตเดณเดเดเตเดเด);catalog_product_entity_varchar
: เดเดฟเดคเตเดฐเด เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดฑเตเดณเตเดเตพ เดเดตเดฟเดเต เดธเดเดญเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต;
เดเตเดเดพเดคเต เดเดฎเตเดเตเดเตพ เดคเดจเตเดจเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเตฝ เดธเตเดตเต เดเตเดฏเตเดฏเดชเตเดชเตเดเตเดจเตเดจเต ./pub/media/catalog/product/x/y/
เดเดตเดฟเดเต x
ะธ y
- เดเดฎเตเดเต เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเดฟเดจเตเดฑเต เดเดจเตเดจเตเด เดฐเดฃเตเดเตเด เด
เดเตเดทเดฐเดเตเดเตพ. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดซเดฏเตฝ image.png
เดเดฏเดฟ เดธเตเดตเต เดเตเดฏเตเดฏเดฃเด ./pub/media/catalog/product/i/m/image.png
, เดเดพเดฑเตเดฑเดฒเตเดเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ เดตเดฟเดตเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฒเดพเดฑเตเดฑเตโเดซเตเดฎเดฟเดจเต เด
เดคเต เดเดฐเต เดเดฟเดคเตเดฐเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดพเดจเดพเดเตเด.
catalog_product_entity_media_gallery
เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเต ./pub/media/catalog/product/
เดฎเตเดกเดฟเดฏ เดซเดฏเตฝ (เดซเดฏเตฝ เดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดเตเดฐเดฟเดฏ เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเตผเดเตเด เดเตเดฏเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ):
function createMediaGallery($imgPathPrefixed)
{
$attrId = /* get attribute ID by attribute code 'media_gallery' */
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_product_entity_media_gallery');
$bind = [
'attribute_id' => $attrId,
'value' => $imgPathPrefixed,
/* 'image' or 'video' */
'media_type' => 'image',
'disabled' => false
];
$conn->insert($table, $bind);
$result = $conn->lastInsertId($table);
return $result;
}
เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดเดฐเต เดชเตเดคเดฟเดฏ เดฎเตเดกเดฟเดฏ เดซเดฏเดฒเดฟเดจเต เดเดฐเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดจเตฝเดเตเด.
catalog_product_entity_media_gallery_value
เดกเดฟเดซเตเตพเดเตเดเต เดธเตเดฑเตเดฑเตเตผ เดซเตเดฐเดฃเตเดเดฟเดจเดพเดฏเดฟ เดเดเตเดเตพ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดค เดฎเตเดกเดฟเดฏ เดซเดฏเดฒเดฟเดจเต เด เดจเตเดฌเดจเตเดง เดเตฝเดชเตเดชเดจเตเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเต:
function createGalleryValue($mediaId, $prodId)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_product_entity_media_gallery_value');
$bind = [
'value_id' => $mediaId,
/* use admin store view by default */
'store_id' => 0,
'entity_id' => $prodId,
'label' => null,
/* we have one only image */
'position' => 1,
'disabled' => false
];
$conn->insert($table, $bind);
}
catalog_product_entity_media_gallery_value_to_entity
เดเดฐเต เดธเตเดฑเตเดฑเตเตผ เดซเตเดฐเดฃเตเดเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเดคเต เดเดเตเดเตพ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดค เดฎเตเดกเดฟเดฏ เดซเดฏเดฒเดฟเดจเต เด เดจเตเดฌเดจเตเดง เดเตฝเดชเตเดชเดจเตเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเต. เด เดกเดพเดฑเตเดฑ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดตเดฟเดเตเดฏเดพเดฃเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเตเด เดฎเตเดฎเตเดชเดคเตเดคเต เดชเดเตเดเดฟเดเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เด เดธเดพเดงเตเดฏเดฎเดพเดฏเดคเต เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเตเดจเตเดจเตเด เดตเตเดฏเดเตเดคเดฎเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ เด เดชเดเตเดเดฟเด เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเต, เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดเดฟเดคเตเดฐเด เดเตเตผเดเตเดเตเดฎเตเดชเตเตพ เดกเดพเดฑเตเดฑ เด เดคเดฟเตฝ เดเดดเตเดคเดชเตเดชเตเดเตเด. เด เดชเตเดชเต เด เดคเตเดฐเดฏเต เดเดณเตเดณเต.
function createGalleryValueToEntity($mediaId, $prodId)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_product_entity_media_gallery_value_to_entity');
$bind = [
'value_id' => $mediaId,
'entity_id' => $prodId
];
$conn->insert($table, $bind);
}
catalog_product_entity_varchar
เดเดฐเต เดฎเตเดกเดฟเดฏ เดซเดฏเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฑเตเดณเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด (เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดเตเดกเต เดชเดฐเดพเตปเดคเตเดธเดฟเดธเดฟเตฝ เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต):
- เด
เดเดฟเดธเตเดฅเดพเดจเด(
image
) - เดเตเดฑเดฟเดฏ เดเดฟเดคเตเดฐเด (
small_image
) - เดฒเดเตเดเดฟเดคเตเดฐเด (
thumbnail
) - เดธเตเดตเดเตเดเต เดเดฟเดคเตเดฐเด (
swatch_image
)
เดเดฐเต เดฎเตเดกเดฟเดฏ เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดฑเตเดณเตเดเตพ เดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเต catalog_product_entity_varchar
. เดฌเตเตปเดกเดฟเดเดเต เดเตเดกเต "" เดเดจเตเดจเดคเดฟเดฒเต เดเตเดกเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเตเด
เดเดฟเดธเตเดฅเดพเดจ เดเตฝเดชเตเดชเดจเตเดจ เดเตเดฃเดเตเดเตพ".
เด เดกเตโเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดเดฟเดคเตเดฐเด เดเตเตผเดคเตเดคเดคเดฟเดจเต เดถเตเดทเด เดเดคเต เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
เดตเดฟเดญเดพเดเด
เดตเดฟเดญเดพเดเดฎเดจเตเดธเดฐเดฟเดเตเดเต เดกเดพเดฑเตเดฑ เด เดเดเตเดเตเดจเตเดจ เดชเตเดฐเดงเดพเดจ เดชเดเตเดเดฟเดเดเตพ:
catalog_category_entity
: เดตเดฟเดญเดพเดเดเตเดเดณเตเดเต เดฐเดเดฟเดธเตเดฑเตเดฑเตผ;catalog_category_product
: เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเตเด เดตเดฟเดญเดพเดเดเตเดเดณเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด;catalog_category_entity_*
: EAV เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเต เดฎเตเดฒเตเดฏเดเตเดเตพ;
เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ, เดเดฐเต เดถเตเดจเตเดฏเดฎเดพเดฏ Magento เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดฟเตฝ, เดตเดฟเดญเดพเด เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเตฝ 2 เดตเดฟเดญเดพเดเดเตเดเตพ เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต (เดเดพเตป เดเตเดณเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเตเดเตพ เดเตเดฐเตเดเตเดเดฟ: crt
- created_at
, upd
- updated_at
):
entity_id|attribute_set_id|parent_id|crt|upd|path|position|level|children_count|
---------|----------------|---------|---|---|----|--------|-----|--------------|
1| 3| 0|...|...|1 | 0| 0| 1|
2| 3| 1|...|...|1/2 | 1| 1| 0|
id=1 เดเดณเตเดณ เดตเดฟเดญเดพเดเด เดฎเตเดดเตเดตเตป Magento เดเดพเดฑเตเดฑเดฒเตเดเดฟเดจเตเดฑเตเดฏเตเด เดฑเตเดเตเดเดพเดฃเต, เด เดคเต เด เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเต เดฎเตเตป เดชเตเดเดฟเดฒเต เดฒเดญเตเดฏเดฎเดฒเตเดฒ. เดเดกเดฟ=2 เดเดณเตเดณ เดตเดฟเดญเดพเดเด (เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดตเดฟเดญเดพเดเดเดชเตเดฐเดงเดพเดจ เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดงเดพเดจ เดธเตเดฑเตเดฑเตเดฑเดฟเดจเตเดฑเต เดฑเตเดเตเดเต เดตเดฟเดญเดพเดเดฎเดพเดฃเต (เดชเตเดฐเดงเดพเดจ เดตเตเดฌเตเดธเตเดฑเตเดฑเต เดธเตเดฑเตเดฑเตเตผ) เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฎเตเดชเตเตพ เดธเตเดทเตเดเดฟเดเตเดเต (เดเดพเดฃเตเด. เด เดกเตเดฎเดฟเตป / เดธเตเดฑเตเดฑเตเดฑเตเดเตพ / เดเดฒเตเดฒเดพ เดธเตเดฑเตเดฑเตเดฑเตเดเดณเตเด). เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเตเดฑเตเดฑเตเดฑเดฟเดจเตเดฑเต เดฑเตเดเตเดเต เดตเดฟเดญเดพเดเดตเตเด เดฎเตเตปเดตเดถเดคเตเดคเต เดฒเดญเตเดฏเดฎเดฒเตเดฒ, เด เดคเดฟเดจเตเดฑเต เดเดชเดตเดฟเดญเดพเดเดเตเดเตพ เดฎเดพเดคเตเดฐเด.
เด เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดตเดฟเดทเดฏเด เดเดชเตเดชเตเดดเตเด เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเดฟเตฝ เดกเดพเดฑเตเดฑ เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดตเดฟเดญเดพเดเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดพเตป เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเต เดจเตเดฐเดฟเดเตเดเต เดเตปเดเตเดฐเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฒเตเดฒ, เดชเดเตเดทเต Magento เดคเดจเตเดจเต (เดฎเตเดกเดฒเตเดเดณเตเด เดถเตเดเดฐเดฃเดเตเดเดณเตเด) เดจเตฝเดเตเดจเตเดจ เดเตเดฒเดพเดธเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด. เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตโเดค เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเต เดเดฐเต เดตเดฟเดญเดพเดเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดฎเดพเดคเตเดฐเดฎเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเตเดณเตเดณ เดจเตเดฐเดฟเดเตเดเตเดณเตเดณ เดชเตเดฐเดตเตเดถเดจเด เดเดชเดฏเตเดเดฟเดเตเดเต (เดตเดฟเดญเดพเดเด เด เดคเดฟเดจเตเดฑเต เดชเตเดฐเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต, เดเดชเตเดชเด เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต เดตเดฟเดญเดพเด เดเดกเดฟ เดตเตเดฃเตเดเตเดเตเดเตเดเตเด):
function create($prodId, $catId)
{
/** @var MagentoFrameworkAppResourceConnection $this->resource */
/** @var MagentoFrameworkDBAdapterPdoMysql $conn */
$conn = $this->resource->getConnection();
$table = $this->resource->getTableName('catalog_category_product');
$bind = [
'category_id' => $catId,
'product_id' => $prodId,
];
$conn->insert($table, $bind);
}
"เดเดพเดฑเตเดฑเดเดฑเดฟ 1", "เดเดพเดฑเตเดฑเดเดฑเดฟ 2" เดเดจเตเดจเต เดตเดฟเดญเดพเดเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดฐเต เดเตฝเดชเตเดชเดจเตเดจ เดฒเดฟเดเตเดเต เดเตเตผเดคเตเดค เดถเตเดทเด, เด เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
เด เดงเดฟเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ
เดกเดพเดฑเตเดฑ เดเดฑเดเตเดเตเดฎเดคเดฟ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดฏเดฟเดเตเดเดดเดฟเดเตเดเดพเตฝ, เดจเดฟเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด เดงเดฟเด เดเดเตเดเดเตเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต:
- เดกเดพเดฑเตเดฑ เดเตปเดกเดเตโเดธเดฟเดเดเต: เดเตบเดธเตเดณเดฟเตฝ เดตเดฟเดณเดฟเดเตเดเตเด
./bin/magento indexer:reindex
; - เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ/เดตเดฟเดญเดพเดเดเตเดเตพเดเตเดเดพเดฏเตเดณเตเดณ URL-เดเตพ เดชเตเดจเดเดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต: เดจเดฟเดเตเดเตพเดเตเดเต "" เดเดจเตเดจ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเดพเด
elgentos/regenerate-catalog-url ยซ
เด เดงเดฟเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเดฟเดฏเดคเดฟเดจเต เดถเตเดทเด เด เดกเตเดฎเดฟเตป เดชเดพเดจเดฒเดฟเดฒเต เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ:
เดฎเตเตปเดตเดถเดคเตเดคเตเด:
เดธเดเดเตเดฐเดนเด
เดฎเตเดฎเตเดชเดคเตเดคเต เดฒเตเดเดจเดคเตเดคเดฟเดฒเต เด เดคเต เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ (10 เดเดทเดฃเดเตเดเตพ) เดเตเดฑเดเตเดเดคเต เดเดฐเต เดเตเดฐเดฎเด เดตเตเดเดคเตเดคเดฟเตฝ เดเดฑเดเตเดเตเดฎเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเต (1 เดธเตเดเตเดเตปเดกเดฟเตฝ เดจเดฟเดจเตเดจเต 10). เดตเตเดเดค เดเตเดเตเดคเตฝ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดฃเดเตเดเดพเดเตเดเดพเตป, เดจเดฟเดเตเดเตพเดเตเดเต เดงเดพเดฐเดพเดณเด เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต - เดจเตเดฑเตเดเดฃเดเตเดเดฟเดจเต, เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฏเดฟเดฐเดเตเดเดฃเดเตเดเดฟเดจเต. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดเดคเตเดฐเดฏเตเด เดเตเดฑเดฟเดฏ เด เดณเดตเดฟเดฒเตเดณเตเดณ เดเตปเดชเตเดเตเดเต เดกเดพเดฑเตเดฑ เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดเตเดเตเด, Magento (เดฎเตเดกเดฒเตเดเดณเตเด เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดเดณเตเด) เดจเตฝเดเตเดจเตเดจ เดเดชเดเดฐเดฃเดเตเดเดณเตเดเต เดเดชเดฏเตเดเด เดชเตเดฐเดพเดงเดพเดจเตเดฏเดฎเตผเดนเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดจเดฟเดเดฎเดจเด เดเตเดฏเตเดฏเดพเด (เดเดพเตป เดเดจเตเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเต - เดตเดณเดฐเต!) เดเดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดตเดฟเดเดธเดจเด เดตเตเดเดคเตเดคเดฟเดฒเดพเดเตเดเตเด, เดเดจเตเดจเดพเตฝ เด เดคเต เดธเดฎเดฏเด เดเดฃเตเดฏเดฎเดพเดฏเดฟ (เดเดพเตป เดเดจเตเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเต - เดตเดณเดฐเต!) เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดฒเดญเดฟเดเตเดเตเดจเตเดจ เดตเตเดเดค เดเตเดฑเดฏเตเดเตเดเตเด.
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดตเตเดณเตเดณเด เดจเดจเดตเตเดณเตเดณเดคเดพเดฏเดฟ เดฎเดพเดฑเดฟ, เดเดคเต เดเดฐเต เดตเตเดณเดฟเดชเตเดชเตเดเตเดคเตเดคเดฒเดฒเตเดฒ. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดเดชเตเดชเตเตพ เดเดจเดฟเดเตเดเต เดเดณเดฟเดเตเดเดพเตป เดเตเดกเต เดเดฃเตเดเต, เดเดฐเตเดชเดเตเดทเต เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเดฎเดพเดฏ เดเดฟเดฒ เดจเดฟเดเดฎเดจเดเตเดเดณเดฟเตฝ เดเดคเตเดคเดฟเดเตเดเตเดฐเดพเด.
เด เดตเดฒเดเดฌเด: www.habr.com