Đ
āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ°: 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
).
cataloginventory_
āĻŽā§āĻ¯āĻžāĻāĻ¨ā§āĻā§ 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 |...|
āĻāĻŦāĻ āĻāĻ "āĻĻā§āĻāĻžāĻ¨"(inventory_stock
):
stock_id|name |
--------|-------------|
1|Default Stock|
ÂĢāĻā§āĻ¸Âģ āĻĒāĻŖā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¤ āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°ā§ (āĻ°ā§āĻāĻ°ā§āĻĄāĻāĻŋāĻ¤ā§ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻā§āĻ āĻāĻŦāĻ āĻŽā§āĻāĻ˛āĻŋāĻ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§)āĨ¤ "āĻā§āĻĻāĻžāĻŽ"āĻāĻāĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ "āĻā§āĻ¸" āĻāĻ° āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻŽāĻŋāĻ˛āĻ¨ (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
).
āĻāĻ "āĻĻā§āĻāĻžāĻ¨"āĻāĻ¯āĻŧā§āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§"āĻāĻ¤ā§āĻ¸ āĻĨā§āĻā§"āĻāĻŦāĻ āĻāĻ "āĻā§āĻ¸"- āĻŦā§āĻļ āĻāĻŋāĻā§"āĻā§āĻĻāĻžāĻŽ"(āĻŦāĻšā§-āĻĨā§āĻā§-āĻ
āĻ¨ā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ)āĨ¤ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽāĻā§āĻ˛āĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ "āĻā§āĻ¸"āĻāĻŦāĻ"āĻĻā§āĻāĻžāĻ¨" āĻ¤āĻžāĻ°āĻž āĻ
āĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧ (āĻā§āĻĄ āĻ¸ā§āĻ¤āĻ°ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž - āĻ¤ā§āĻ°ā§āĻāĻŋ âāĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻ¤ā§āĻ¸ āĻŦāĻž āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¸ā§āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ˛āĻŋāĻā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž")āĨ¤ 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
; - āĻĒāĻŖā§āĻ¯/āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻ°āĻāĻ˛ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨: āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
elgentos/regenerate-catalog-urls ÂĢ
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻĒāĻŖā§āĻ¯āĻā§āĻ˛āĻŋ:
āĻāĻŦāĻ āĻ¸āĻžāĻŽāĻ¨ā§:
āĻ¸āĻžāĻ°āĻžāĻāĻļ
āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻĒāĻŖā§āĻ¯ā§āĻ° āĻ¸ā§āĻ (10 āĻā§āĻāĻ°āĻž) āĻāĻŽāĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽ āĻĻā§āĻ°ā§āĻ¤ (1 āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻŦāĻ¨āĻžāĻŽ 10) āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ°āĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¤āĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻŦā§āĻšāĻ¤ā§āĻ¤āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻĒāĻŖā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ - āĻāĻ¯āĻŧā§āĻāĻļāĻ¤, āĻŦāĻž āĻāĻ°āĻ āĻāĻžāĻ˛ āĻāĻāĻ¨āĻ āĻšāĻžāĻāĻžāĻ° āĻšāĻžāĻāĻžāĻ°ā§ˇ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ¨āĻĒā§āĻ āĻĄā§āĻāĻžāĻ° āĻāĻ¤ āĻā§āĻ āĻāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§āĻ, āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°ā§ āĻĒā§āĻāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ Magento (āĻŽāĻĄā§āĻ˛ āĻāĻŦāĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛) āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ (āĻāĻŽāĻŋ āĻā§āĻ° āĻĻāĻŋāĻā§āĻāĻŋ - āĻ āĻ¨ā§āĻ!) āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨, āĻ¤āĻŦā§ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ (āĻāĻŽāĻŋ āĻā§āĻ° āĻĻāĻŋāĻā§āĻāĻŋ - āĻ āĻ¨ā§āĻ!) āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄāĻžāĻāĻž āĻāĻ¸āĻžāĻ° āĻāĻ¤āĻŋ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¨āĨ¤
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ˛ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻĻā§āĻāĻžāĻāĻ¨ āĻ¨āĻ¯āĻŧ. āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻ¨ āĻāĻŽāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻ˛āĻ¤ā§ āĻā§āĻĄ āĻāĻā§ āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ°āĻ āĻāĻŋāĻā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§ āĻāĻ¸āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com