PcSchool.Club

パソコンを分かりやすく解説することを目指す無料のオンラインパソコン教室

岐阜のパソコン教室「パソコンスクール・テルン」

商品登録画面にフィールドを追加する EcCube3.0

2021年5月28日

EcCube3にて商品登録画面にフィールドの追加

本来はプラグインを作ってやりたいところなのですが、
結構プラグインの製作って手間です。

EcCube3にて直接本体をさわってのフィールドの追加はとても簡単にできるのですが、
些細なことで膨大な時間を取られたので覚え書きです。
(最後になぜ時間を取られたのか落ちがあります)

EcCube3の商品登録画面に 「商品のメーカーへのURLを追加してほしい」との要望で、以下のように編集していきます。

本当に覚え書き程度の手順ですが、PHPをマスターしている人なら簡単に分かります。

????-手順1??????????????
/src/Eccube/Entity/Product.php
private $maker_url;
public function setMakerurl($maker_url)
{
$this->maker_url = $maker_url;
return $this;
}
public function getMakerurl()
{
return $this->maker_url;
}

???-手順2??????????????
/src/Eccube/Form/Type/Admin/ProductType.php
$builder
->add(‘maker_url’, ‘text’, array(
‘label’ => ‘メーカーへのリンクURL’,
))

???-手順3??????????????
/src/Eccube/Resource/doctrine/Eccube.Entity.Product.dcm.yml
Eccube\Entity\Product:
fields:
maker_url:
type: text
nullable: true
length: 65535

???手順4??????????????
src/eccube/Resource/template/admin/Product/product.twig

{{ form_row(form.maker_url) }}

 

????????????????????

ここからは余談です。

上記の作業にてフィールドを追加するのですが、
なぜ膨大な時間を費やしたかですが、以下のエラーです。

名称未設定-1

これですね。
2人で作業しているので、自分のEcCube3に追加フィールドはエラーにならないのに、なぜかその人がさわったフィールドはエラーになるんですよね。
メソッドエラーなわけですが、なぜだろう??
こんな簡単なメソッドが???なぜ??

Neither the property “maker_url” nor one of the methods “getMakerUrl()???

ああぁ、maker_url なので、メソッド名も[Maker_url」って感じで書いてました。

気をつけてください。maker_url はメソッドで Makerurl()でいきましょう。

アンダーバーにやられました。

関連サイト

パソコン教室

パソコンスクール・テルン岐阜・穂積・大垣教室 楽しく学ぶ・通うパソコン教室あもる

パソコン修理・販売・買取・サポート

パソコンの修理・販売・買取・サポート