500pts Bounty에 대한 MageStackDay 보너스 질문 및 1 년간 무료 Z-Ray 라이센스 획득 가능성. 자세한 내용은 여기를 참조하십시오 >> 여기 <<
질문은 Magento 2 핵심 개발자 Anton Kril이 제공합니다.
질문:
Magento에 새로운 제품 유형을 추가하고 싶습니다. Magento 2 dev 베타 에서이 작업을 수행하는 방법
500pts Bounty에 대한 MageStackDay 보너스 질문 및 1 년간 무료 Z-Ray 라이센스 획득 가능성. 자세한 내용은 여기를 참조하십시오 >> 여기 <<
질문은 Magento 2 핵심 개발자 Anton Kril이 제공합니다.
질문:
Magento에 새로운 제품 유형을 추가하고 싶습니다. Magento 2 dev 베타 에서이 작업을 수행하는 방법
답변:
Magento 2에서 새 제품 유형을 추가하려면 모듈에서 etc / product_types.xml을 작성해야합니다. 이 파일에서 다음을 지정합니다.
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Catalog/etc/product_types.xsd">
<type name="demoproduct" label="Demo Product" modelInstance="Genmato\DemoProduct\Model\Product\Type\Demo" indexPriority="25" sortOrder="25">
<customAttributes>
<attribute name="refundable" value="true"/>
</customAttributes>
</type>
</config>
그런 다음 modelInstance를 작성하십시오.
/**
* @category Genmato
* @package Genmato_MageStackProduct
* @copyright Copyright (c) 2015 Genmato BV (https://genmato.com)
*/
namespace Genmato\DemoProduct\Model\Product\Type;
class Demo extends \Magento\Catalog\Model\Product\Type\AbstractType
{
/**
* Delete data specific for Simple product type
*
* @param \Magento\Catalog\Model\Product $product
* @return void
*/
public function deleteTypeSpecificData(\Magento\Catalog\Model\Product $product)
{
}
}
새 제품 유형이 추가되어 백엔드에서 새 제품을 작성할 때이를 선택할 수 있습니다.
product_type.xml에서 자체 인덱서 또는 가격 계산 방법을 지정할 수도 있습니다. 자세한 예는 번들, ConfigureProduct, Downloadable 및 GroupedProduct 제품 유형의 코드를 참조하십시오.
전체 데모 제품 확장에 대해서는 https://github.com/Genmato/DemoProduct를 참조하십시오.
편집하다:
Anton의 요청에 따라 새로운 제품 유형에 대한 약간의 추가 기능이 있습니다 (이번 주에 시간이 조금 더 있으면 추가 수정을 시도 할 것입니다).
지금은 비용 속성에 대한 가격 입력 필드로 데모 제품 유형을 업데이트했습니다.
이 비용 속성은 프런트 엔드에 표시 될 때 가격을 계산하는 데 사용됩니다 (가격 속성을 사용할 수없고 사용하지 않음). 이 예제에서는 cost * 1.25 (Genmato \ DemoProduct \ Model \ Product \ Type \ Demo \ Price)를 사용했습니다.
프론트 엔드의 결과 :
업데이트 된 코드는 https://github.com/Genmato/DemoProduct에서 확인할 수 있습니다.