Tôi muốn thêm thực thể tùy chỉnh của mình để xuất Magento 2


7

Tôi muốn xuất thực thể tùy chỉnh của mình từ quản trị viên như sản phẩm, khách hàng, v.v ... Tôi đã tạo mã để nhập cho thực thể tùy chỉnh của mình và nó hoạt động tốt. Nhưng bây giờ tôi muốn thêm cùng một thực thể để xuất dữ liệu của mình. Xin vui lòng xem hình ảnh đính kèm mà tôi muốn các chức năng.

nhập mô tả hình ảnh ở đây

Có một bảng cơ sở dữ liệu đơn giản với ba trường. Tên bảng là ' nhà sản xuất_ nhà sản xuất ' và tên trường theo sau.
Không có bất kỳ khóa chính.

  1. nhà chế tạo
  2. mô hình
  3. sản phẩm

Vì vậy, tôi muốn chỉ xuất dữ liệu trên từ bảng của tôi mà thôi.

Tôi muốn thêm tùy chọn thả xuống như ' nhà sản xuất '. Nếu quản trị viên chọn giá trị đó và xuất thì tất cả dữ liệu sẽ được xuất ở định dạng CSV.

Câu trả lời:


5

Điều này có thể bằng cách làm theo các bước dưới đây;

  1. Bao gồm export.xml trong thư mục mô-đun vv của bạn với nội dung tương tự như bên dưới;

    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_ImportExport:etc/import.xsd">
        <entity
            name="manufacturer"
            label="Manufacturer Export"
            model="VendorName\Manufacturer\Model\Export\Manufacturer"
            entityAttributeFilterType="manufacturer" />
    </config>
  2. Đảm bảo lớp mô hình xuất của bạn mở rộng lớp \ Magento \ ImportExport \ Model \ Export \ AbstractEntity, sau đó ghi đè các phương thức trừu tượng để thêm các triển khai cụ thể của bạn. Lớp mô hình xuất khẩu sẽ tương tự như bên dưới;

namespace VendorName\Manufacturer\Model\Export;

/**
 * Class Manufacturer
 */
class Manufacturer extends \Magento\ImportExport\Model\Export\AbstractEntity
{
    /**
     * Permanent column names
     */
    const COLUMN_MANUFACTURER = 'manufacturer';
    const COLUMN_MODEL = 'model';
    const COLUMN_PROD_IDS = 'product_ids';

    /**
     * Permanent entity columns
     *
     * @var string[]
     */
    protected $_permanentAttributes = [
        self::COLUMN_MANUFACTURER,
        self::COLUMN_MODEL,
        self::COLUMN_PROD_IDS,
    ];

    public function export()
    {
        // TODO: Implement export() method.
    }

    public function exportItem($item)
    {
        // TODO: Implement exportItem() method.
    }

    public function getEntityTypeCode()
    {
        return  'manufacturer';
    }

    protected function _getHeaderColumns()
    {
        return $this->_permanentAttributes;
    }

    protected function _getEntityCollection()
    {
        // TODO: Implement _getEntityCollection() method.
    }
}

Bạn có thể nhận thêm thông tin về cách triển khai các phương thức trừu tượng này trong lớp \ Magento \ CustomerImportExport \ Model \ Export \ Customer .

Tôi hi vọng cái này giúp được.


Bất kỳ ý tưởng làm thế nào để nhập các danh mục xuất khẩu trong csv giống như sản phẩm thông qua phụ trợ?
Kirti Nariya

Tôi đã phải đối mặt với vấn đề trong danh mục xuất khẩu trong csv. Bạn có thể vui lòng kiểm tra. Sự giúp đỡ của bạn sẽ được trân trong. Cảm ơn magento.stackexchange.com/questions/277997/ trộm
Kirti Nariya
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.