สำหรับการเพิ่มประเภทผลิตภัณฑ์ใหม่ใน 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 เป็นไปได้ที่จะระบุตัวทำดัชนีหรือวิธีการคำนวณราคาของคุณสำหรับตัวอย่างเพิ่มเติมดูรหัสสำหรับประเภทผลิตภัณฑ์ Bundle, ConfigureProduct, สามารถดาวน์โหลดได้และ GroupedProduct
สำหรับส่วนขยายผลิตภัณฑ์ตัวอย่างที่สมบูรณ์โปรดดู: https://github.com/Genmato/DemoProduct
แก้ไข:
ตามที่ขอโดย Anton ฟังก์ชั่นพิเศษเล็กน้อยสำหรับประเภทผลิตภัณฑ์ใหม่ (ถ้าฉันมีเวลาเพิ่มขึ้นเล็กน้อยในสัปดาห์นี้ฉันจะพยายามแก้ไขเพิ่มเติม)
ตอนนี้ฉันอัพเดทประเภทผลิตภัณฑ์ตัวอย่างพร้อมฟิลด์ป้อนข้อมูลราคาสำหรับแอตทริบิวต์ต้นทุน:
แอ็ตทริบิวต์ต้นทุนนี้ใช้สำหรับคำนวณราคาเมื่อแสดงในส่วนหน้า (ไม่สามารถใช้คุณลักษณะราคาได้และไม่ได้ใช้) สำหรับตัวอย่างนี้ฉันใช้ราคา * 1.25 (ใน Genmato \ DemoProduct \ Model \ Product \ Type \ Demo \ Price):
ผลลัพธ์บนส่วนหน้า:
รหัสที่อัปเดตที่สมบูรณ์มีให้ที่: https://github.com/Genmato/DemoProduct