[EC-CUBE4.0.3]おすすめ商品管理プラグインの「説明文」の必須を外す

  • 公開日:2019/12/27

おすすめ商品管理プラグインは2.13系のときからお世話になっているとても便利なプラグインですが、説明文が必須項目になっています。実運用を考えるとこれって結構面倒なわけで・・・

というわけで「説明文」の必須をなくす変更をしたいと思います。

以下のファイルを編集します。
app/Plugin/Recommend4/Form/Type/RecommendProductType.php

public function buildForm(FormBuilderInterface $builder, array $options)
{
	$builder
		->add('id', TextType::class, [
			'label' => 'plugin_recommend.admin.edit.product',
			'required' => false,
			'attr' => ['readonly' => 'readonly'],
		])
		->add('comment', TextareaType::class, [
			'label' => 'plugin_recommend.admin.edit.comment',
			'required' => false, // trueからfalseに変更
			'trim' => true,
			'constraints' => [
                //new Assert\NotBlank(), // コメントアウト
				new Assert\Length([
					'max' => $this->eccubeConfig['plugin_recommend.text_area_len'],
				]),
			],
			'attr' => [
				'maxlength' => $this->eccubeConfig['plugin_recommend.text_area_len'],
				'placeholder' => 'plugin_recommend.admin.type.comment.placeholder',
			],
		]);

説明文のフォーム項目名はcommentです。なのでcommentの定義をしている箇所を探して、requiredをfalseに変更し、new Assert\NotBlank()をコメントアウト(削除してもOK)すると・・・説明文が必須項目じゃなくなりました。

プラグインのファイルを直接いじっちゃったのはいかがなものでしょうか?もっと良い方法があれば教えてください。