バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,686名です
総投稿数は109,932件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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