【EC-CUBE4】商品に商品規格を新規で設定するページの商品規格名に管理名を追加する方法

EC-CUBE4の商品に商品規格を新規で設定するページの商品規格名に管理名を追加する方法です。

以下のページに、

以下のように商品規格管理名を表示させます。

 

Customizeディレクトリに以下のProductClassMatrixTypeExtension.phpを設置してください。

<?php

namespace Customize\Form\Extension;

use Eccube\Form\Type\Admin\ProductClassMatrixType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\FormBuilderInterface;

class ProductClassMatrixTypeExtension extends AbstractTypeExtension
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $options = $builder->get('class_name1')->getOptions();
        $options["choice_label"] = function($class_name) {
            return $class_name->getName()."[".trans('admin.product.class_name__backend_name').trans('admin.common.separator__colon').$class_name->getBackendName()."]";
        };
        $builder->add('class_name1', EntityType::class, $options);

        $options = $builder->get('class_name2')->getOptions();
        $options["choice_label"] = function($class_name) {
            return $class_name->getName()."[".trans('admin.product.class_name__backend_name').trans('admin.common.separator__colon').$class_name->getBackendName()."]";
        };
        $builder->add('class_name2', EntityType::class, $options);
    }

    /**
    * {@inheritdoc}
    */
    public function getExtendedType()
    {
        return ProductClassMatrixType::class;
    }
}

 

以上で完成です。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください