バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > Master から選択肢の取得表示ができない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2018/11/16 17:36
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Master から選択肢の取得表示ができない
EC-CUBE4.0.0

選択肢を作成するために、Master エンティティを継承した EmptyhandedCard エンティティを作成しました。
作成した mtb_emptyhanded_card テーブルに選択肢として phpMyAdmin で次のレコードを挿入しました。
id=1
name=新郎自宅
sort_no=1
discriminator_type=emptyhanded_card

sender.twig ページを新規作成し、EmptyhandedCard フォームを表示したところ、フォーム自体は表示されたのですが、デフォルトである「選択してください」以外の選択肢が表示されませんでした。
どうすれば選択肢が表示されるようになるでしょうか?

なお、これ以外のテキスト入力や住所入力のフォームは問題なく表示・保存できています。

以下、カスタマイズソースの抜粋です。

app/Customize/Repository/Master/EmptyhandedCardRepository.php
<?php

namespace Customize\Repository\Master;

use Customize\Entity\Master\EmptyhandedCard;
use Eccube\Repository\AbstractRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;

/**
 * EmptyhandedCardRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class EmptyhandedCardRepository extends AbstractRepository
{
    public function __construct(RegistryInterface $registry)
    {
        parent::__construct($registry, EmptyhandedCard::class);
    }
}


app/Customize/Entity/Master/EmptyhandedCard.php
<?php

namespace Customize\Entity\Master;

use Doctrine\ORM\Mapping as ORM;

/**
 * EmptyhandedCard
 *
 * @ORM\Table(name="mtb_emptyhanded_card")
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="discriminator_type", type="string", length=255)
 * @ORM\HasLifecycleCallbacks()
 * @ORM\Entity(repositoryClass="Customize\Repository\Master\EmptyhandedCardRepository")
 * @ORM\Cache(usage="NONSTRICT_READ_WRITE")
 */
class EmptyhandedCard extends \Eccube\Entity\Master\AbstractMasterEntity
{
}


app/Customize/Entity/Sender.php
<?php

namespace Customize\Entity;

if (!class_exists('\Customize\Entity\Sender')) {
    /**
     * Sender
     *
     * @ORM\Table(name="dtb_sender")
     * @ORM\InheritanceType("SINGLE_TABLE")
     * @ORM\DiscriminatorColumn(name="discriminator_type", type="string", length=255)
     * @ORM\HasLifecycleCallbacks()
     * @ORM\Entity(repositoryClass="Customize\Repository\SenderRepository")
     */
    class Sender extends AbstractEntity
    {
        /**
         * @var \Customize\Entity\Master\EmptyhandedCard
         *
         * @ORM\ManyToOne(targetEntity="Customize\Entity\Master\EmptyhandedCard")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="emptyhanded_card_id", referencedColumnName="id", nullable=true)
         * })
         */
        private $EmptyhandedCard;

        /**
         * Set emptyhanded_card.
         *
         * @param \Customize\Entity\Master\EmptyhandedCard|null $emptyhanded_card
         *
         * @return Sender
         */
        public function setEmptyhandedCard(\Customize\Entity\Master\EmptyhandedCard $emptyhanded_card = null)
        {
            $this->EmptyhandedCard = $emptyhanded_card;

            return $this;
        }

        /**
         * Get emptyhanded_card.
         *
         * @return \Customize\Entity\Master\EmptyhandedCard|null
         */
        public function getEmptyhandedCard()
        {
            return $this->EmptyhandedCard;
        }
    }
}


app/Customize/Form/Type/Master/EmptyhandedCardType.php
<?php

namespace Customize\Form\Type\Master;

use Eccube\Form\Type\MasterType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolver;

/**
 * Class EmptyhandedCardType
 */
class EmptyhandedCardType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'class' => 'Customize\Entity\Master\EmptyhandedCard',
            'placeholder' => 'common.select',
        ]);
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix()
    {
        return 'emptyhanded_card';
    }

    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return MasterType::class;
    }
}


app/Customize/Form/Type/Front/SenderType.php
<?php

namespace Customize\Form\Type\Front;

use Customize\Form\Type\Master\EmptyhandedCardType;

class SenderType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('emptyhanded_card', EmptyhandedCardType::class, [
                'required' => true,
                'constraints' => [
                    new Assert\NotBlank(),
                ],
            ])
        ;
    }
}


app/template/default/Mypage/sender.twig
                                    <dl>
                                        <dt>
                                            {{ form_label(form.emptyhanded_card, '手ぶらカードのお届け先', { 'label_attr': { 'class': 'ec-label' }}) }}
                                        </dt>
                                        <dd>
                                            <div class="ec-select{{ has_errors(form.emptyhanded_card) ? ' error' }}">
                                                {{ form_widget(form.emptyhanded_card) }}
                                                {{ form_errors(form.emptyhanded_card) }}
                                            </div>
                                        </dd>
                                    </dl>



----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

nyorai
投稿日時: 2018/11/19 8:56
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: Master から選択肢の取得表示ができない
EmptyhandedCardエンティティに@ORM\Cache(usage="NONSTRICT_READ_WRITE")が定義されているので、キャッシュされているのかな、と思います。
h_tanaka
投稿日時: 2018/11/19 9:06
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: Master から選択肢の取得表示ができない
nyorai 様

以下、試してみましたが状況変わりませんでした。
・管理画面からのキャッシュ削除
・var/cache/prod/ 配下のファイル削除
・@ORM\Cache アノテーションの削除
・ブラウザのスーパーリロード


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.