バージョン選択

フォーラム

メニュー

オンライン状況

27 人のユーザが現在オンラインです。 (13 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 27
もっと...

サイト内検索

質問 > フロント機能 > お届け先情報に性別のラジオボタンを追加したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
d-kaba
投稿日時: 2021/4/5 9:21
対応状況: 解決済
新米
登録日: 2021/4/5
居住地:
投稿: 2
お届け先情報に性別のラジオボタンを追加したい


開発環境


[EC-CUBE] 4.0.5
[レンタルサーバ] Xserver
[OS]
[PHP] PHP7.4
[データベース] MySQL
[WEBサーバ]
[ブラウザ] Chrome



要件


EC-CUBE4でお届け先情報に、性別の選択を作るためにラジオボタンを設定したいのですが、理由の分からないエラーが発生して困っています。



発生しているエラー


フロント側の「お届け先の追加」画面です。
https://hoge.com/shopping/shipping_edit/4

[Syntax Error] Expected PlainValue, got '�' at position 309 in property Eccube\Entity\CustomerAddress::$gender.

文字化けは、このままでエラー表示されています。



ソースコード


/app/Customize/Entity/CustomerAddressTrait.php

namespace Customize\Entity;

use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation\EntityExtension;
use Eccube\Entity\Shipping;

/**
 * @EntityExtension("Eccube\Entity\CustomerAddress")
 */
trait CustomerAddressTrait
{
    /**
     * @var string|null
     * @ORM\Column(type="string", length=2, nullable=true)
     * @Eccube\Annotation\FormAppend(
     *     auto_render=false,
     *     type="\Symfony\Component\Form\Extension\Core\Type\TextType",
     *     options={
     *          "required": false,
     *          "label": "年齢",
     *          "attr": {"placeholder": "20"}
     *     })
     */
    private $age;

    /**
     * Set birth.
     *
     * @param string|null $birth
     *
     * @return Shipping
     */
    public function setAge($birth = null)
    {
        $this->age = $birth;

        return $this;
    }

    /**
     * Get birth.
     *
     * @return string|null
     */
    public function getAge()
    {
        return $this->age;
    }

    /**
     * @var string|null
     * @ORM\Column(type="string", length=14, nullable=true)
     * @Eccube\Annotation\FormAppend(
     *     auto_render=false,
     *     type="\Symfony\Component\Form\Extension\Core\Type\TextType",
     *     options={
     *          "required": false,
     *          "label": "携帯電話番号",
     *          "attr": {"placeholder": "例:09000000000"}
     *     })
     */
    private $mobile_number;

    /**
     * @return string|null
     */
    public function getMobileNumber()
    {
        return $this->mobile_number;
    }

    /**
     * @param string|null $mobile_number
     */
    public function setMobileNumber($mobile_number)
    {
        $this->mobile_number = $mobile_number;
        return $this;
    }

    /**
     * @var string|null
     * @ORM\Column(type="string", nullable=true)
     * @Eccube\Annotation\FormAppend(
     *     auto_render=false,
     *     type="\Symfony\Component\Form\Extension\Core\Type\ChoiceType",
     *     options={
     *          "required": true,
     *          "label": "性別",
     *        "expanded": true,
     *        "multiple": false,
     *          "choices":{
     *            "男" : "男",
     *            "女" : "女",
     *            "選択しない" : "選択しない"
     *          },
     *     })
     */
    private $gender;

    /**
     * @return string|null
     */
    public function getGender()
    {
        return $this->gender;
    }

    /**
     * @param string|null $gender
     */
    public function setGender($gender)
    {
        $this->gender = $gender;
        return $this;
    }
}




問題の箇所


options の expanded を削除すると、エラーが表示されなくなります。
ただ expanded が無いとセレクトボックスで表示されてしまいます。

/**
     * @var string|null
     * @ORM\Column(type="string", nullable=true)
     * @Eccube\Annotation\FormAppend(
     *     auto_render=false,
     *     type="\Symfony\Component\Form\Extension\Core\Type\ChoiceType",
     *     options={
     *          "required": true,
     *          "label": "性別",
     *        "expanded": true, ←これを削除すると表示される
     *        "multiple": false,
     *          "choices":{
     *            "男" : "男",
     *            "女" : "女",
     *            "選択しない" : "選択しない"
     *          },
     *     })
     */




参考


Entityのカスタマイズ
https://doc4.ec-cube.net/customize_entity

ChoiceType Field (select drop-downs, radio buttons & checkboxes)
https://symfony.com/doc/current/reference/forms/types/choice.html
d-kaba
投稿日時: 2021/4/5 15:03
対応状況: 解決済
新米
登録日: 2021/4/5
居住地:
投稿: 2
Re: お届け先情報に性別のラジオボタンを追加したい
expandedの行のスペースが全角になっているのが原因でした。

コメントアウトのせいで、エディタが反応しなかったようです・・・
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は70,501名です
総投稿数は100,697件です

投稿数ランキング

1
seasoft
7333
2
468
2922
3
AMUAMU
2712
4
nanasess
2127
5
umebius
1931
6
yuh
1612
7
red
1437
8
h_tanaka
1076
9
tsuji
926
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.