ะ
เจฌเฉเจฆเจพเจ
เจตเจพ: 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 เจเฉเจเจพเจฒเจพเจ เจฆเฉ เจฐเฉเจ เจนเฉ เจ เจคเฉ เจจเจพ เจคเจพเจ เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจเจพเจ เจซเจฐเฉฐเจ เจชเฉเจ 'เจคเฉ เจเจชเจฒเจฌเจง เจนเฉเฅค id=2 เจจเจพเจฒ เจธเจผเฉเจฐเฉเจฃเฉ (เจชเฉเจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจธเจผเฉเจฐเฉเจฃเฉ) เจฎเฉเฉฑเจ เจธเจพเจเจ เจฆเฉ เจฎเฉเฉฑเจ เจธเจเฉเจฐ เจฒเจ เจฐเฉเจ เจธเจผเฉเจฐเฉเจฃเฉ เจนเฉ (เจฎเฉเฉฑเจ เจตเฉเฉฑเจฌเจธเจพเจเจ เจธเจเฉเจฐ) เจฌเจฃเจพเจเจ เจเจฟเจ เจเจฆเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ (เจตเฉเจเฉเฅค เจเจกเจฎเจฟเจจ / เจธเจเฉเจฐ / เจธเจพเจฐเฉ เจธเจเฉเจฐ). เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจธเจเฉเจฐ เจฆเฉ เจฐเฉเจ เจธเจผเฉเจฐเฉเจฃเฉ เจตเฉ เจธเจพเจนเจฎเจฃเฉ เจจเจนเฉเจ เจนเฉ, เจธเจฟเจฐเจซ เจเจธ เจฆเฉเจเจ เจเจช เจธเจผเฉเจฐเฉเจฃเฉเจเจ เจนเจจ.
เจเจฟเจเจเจเจฟ เจเจธ เจฒเฉเจ เจฆเจพ เจตเจฟเจธเจผเจพ เจ เจเฉ เจตเฉ เจเจคเจชเจพเจฆเจพเจ 'เจคเฉ เจกเฉเจเจพ เจเจฏเจพเจค เจเจฐ เจฐเจฟเจนเจพ เจนเฉ, เจฎเฉเจ เจธเจผเฉเจฐเฉเจฃเฉเจเจ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจธเจฟเฉฑเจงเฉ เจเจเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเจฐเจพเจเจเจพ, เจชเจฐ เจฎเฉเจเฉเจจเจเฉ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉเจเจ เจเจเจเจ เจเจฒเจพเจธเจพเจ (เจฎเจพเจกเจฒ เจ เจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ) เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเจพเฅค เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจธเจฟเฉฑเจงเฉ เจเจเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจธเจฟเจฐเจซ เจเจฏเจพเจค เจเฉเจคเฉ เจเจคเจชเจพเจฆ เจจเฉเฉฐ เจเฉฑเจ เจธเจผเฉเจฐเฉเจฃเฉ เจจเจพเจฒ เจเฉเฉเจจ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ (เจธเจผเฉเจฐเฉเจฃเฉ เจจเฉเฉฐ เจเจธเจฆเฉ เจจเจพเจฎ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจฎเฉเจฒเจฃ เจฆเฉเจฐเจพเจจ เจธเจผเฉเจฐเฉเจฃเฉ เจเจเจกเฉ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ):
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-urls ยซ
เจตเจพเจงเฉ เจเจพเจฐเจตเจพเจเจเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจตเจฟเฉฑเจ เจเจคเจชเจพเจฆ:
เจ เจคเฉ เจธเจพเจนเจฎเจฃเฉ:
เจธเฉฐเจเฉเจช
เจเจคเจชเจพเจฆเจพเจ เจฆเจพ เจเจนเฉ เจธเฉเฉฑเจ (10 เจเฉเจเฉเฉ) เจเจฟเจตเฉเจ เจเจฟ เจชเจฟเจเจฒเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจคเฉเจ เจเฉฑเจ เจเฉฑเจ เจเฉเจฐเจฎ เจฆเฉ เจคเฉเจฌเจฐเจคเจพ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเจฏเจพเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ (1 เจธเจเจฟเฉฐเจ เจฌเจจเจพเจฎ 10)เฅค เจเจคเฉ เจฆเจพ เจตเจงเฉเจฐเฉ เจธเจนเฉ เจ เฉฐเจฆเจพเจเจผเจพ เจฒเจเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจคเจชเจพเจฆเจพเจ เจฆเฉ เจเฉฑเจ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจฆเฉ เจฒเฉเฉ เจนเฉ - เจเจ เจธเฉ, เจเจพเจ เจฌเจฟเจนเจคเจฐ เจ เจเฉ เจตเฉ เจนเจเจผเจพเจฐเจพเจเฅค เจนเจพเจฒเจพเจเจเจฟ, เจเฉฐเจจเฉ เจเฉเจเฉ เจเจเจพเจฐ เจฆเฉ เจเจจเจชเฉเจ เจกเฉเจเจพ เจฆเฉ เจจเจพเจฒ, เจ เจธเฉเจ เจเจน เจธเจฟเฉฑเจเจพ เจเฉฑเจข เจธเจเจฆเฉ เจนเจพเจ เจเจฟ Magento (เจฎเจพเจกเจฒ เจ เจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ) เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจธเจพเจงเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ (เจฎเฉเจ เจเจผเฉเจฐ เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ - เจฌเจนเฉเจค เจเฉเจ!) เจฒเฉเฉเฉเจเจฆเฉ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจตเจฟเจเจพเจธ เจจเฉเฉฐ เจคเฉเจเจผ เจเจฐเจฆเจพ เจนเฉ, เจชเจฐ เจเจธเฉ เจธเจฎเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจคเฉเจฐ 'เจคเฉ (เจฎเฉเจ เจเจผเฉเจฐ เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ - เจฌเจนเฉเจค เจเฉเจ!) เจกเจพเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจกเจพเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจคเฉ เจจเฉเฉฐ เจเจเจพเจเฅค
เจจเจคเฉเจเฉ เจตเจเฉเจ, เจชเจพเจฃเฉ เจเจฟเฉฑเจฒเจพ เจนเฉ เจเจฟเจ เจ เจคเฉ เจเจน เจเฉเจ เจเฉเจฒเจพเจธเจพ เจจเจนเฉเจ เจนเฉ. เจนเจพเจฒเจพเจเจเจฟ, เจนเฉเจฃ เจฎเฉเจฐเฉ เจเฉเจฒ เจเฉเจกเจฃ เจฒเจ เจเฉเจก เจนเฉ เจ เจคเฉ เจธเจผเจพเจเจฆ เจเฉเจ เจนเฉเจฐ เจฆเจฟเจฒเจเจธเจช เจธเจฟเฉฑเจเฉ 'เจคเฉ เจเจเจฃเจพ.
เจธเจฐเฉเจค: www.habr.com