質問 > 管理機能 > EC-CUBE4.0.6 の配送方法設定ページの入力項目を trait で追加する方法について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
NRTnoMori |
投稿日時: 2021/7/28 22:23
対応状況: −−−
|
新米 登録日: 2021/7/27 居住地: 投稿: 4 |
EC-CUBE4.0.6 の配送方法設定ページの入力項目を trait で追加する方法について 「配送方法別の送料無料ライン」「配送方法別のサイズ上限」を配送方法設定ページから入力できれば便利ですね。 例えば「ネコポス、ゆうパケット>2000円以上で送料無料」「宅急便>5000円以上で送料無料」「ネコポス>厚さ2.5cm以内」「ゆうパケット>厚さ3cm以内」「宅急便>厚さ制限なし」という感じです。 また配送会社によって離島の扱いが違うため、配送方法設定ページの中に既存の都道府県別送料設定とは別に「離島」という入力項目があれば便利ですね。 例えば「ネコポス、ゆうパケット>全国一律送料」「宅急便>沖縄県のみ特別送料」「佐川急便>沖縄県のほか、沖縄以外の都道府県にある離島も特別送料」という感じです。 さらに「沖縄県を送料無料から除外」「離島(沖縄県以外)を送料無料から除外」というオプションもあればなお便利ですね。 ということで、Eccube\Entity\Delivery を拡張して trait を設定した DeliveryTrait.php を /app/Customize/Entity に入れてみたのです。ところが、プロキシ生成してから配送方法設定ページに戻ったら「システムエラーが発生しました」というエラーメッセージが出てしまいました。 DeliveryTrait.php のコードは以下の通りです。 ※項目名はダミーです。 <?php namespace Customize\Entity; use Doctrine\ORM\Mapping as ORM; use Eccube\Annotation\EntityExtension; use Eccube\Annotation\FormAppend; /** * @EntityExtension("Eccube\Entity\Delivery") */ trait DeliveryTrait { /** * @var string * @ORM\Column(name="new_item", type="string", nullable=true) * @FormAppend( * auto_render=true, * options={ * "required": false, * "label": "新しい項目" * } * ) */ public $new_item; } このコードのどこが問題でしょうか? |
NRTnoMori |
投稿日時: 2021/7/31 18:48
対応状況: −−−
|
新米 登録日: 2021/7/27 居住地: 投稿: 4 |
Re: EC-CUBE4.0.6 の配送方法設定ページの入力項目を trait で追加する方法について 他の方のブログを見て自己解決しました。
trait{ }内にゲッターとセッターを追加したらエラーが解消されました。 追加したコードは以下の通りです。 /** * @return string */ public function getNewItem() { return $this->new_item; } /** * @param string $new_item * @return DeliveryTrait */ public function setNewItem($new_item) { $this->new_item= $new_item; return $this; } |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |