バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員の住所に国を追加したい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2018/2/19 12:05
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
会員の住所に国を追加したい
EC-CUBE3.0.15

こちらのスレッドを参考に、会員情報に国項目を追加しました。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19334&forum=19

表示とDB保存はうまくいったのですが、DBに保存した情報を表示する方法がわかりません。
どうすれば表示されるようになるでしょうか?

フォームの 'data' に対してDB情報を設定すればよさそうですが、DB情報の取得方法がわからないでいます。

src/Eccube/ServiceProvider/EccubeServiceProvider.php
            $types[] = new \Eccube\Form\Type\Master\CountryType($app['orm.em']);  // 国


src/Eccube/Form/Type/Master/CountryType.php
namespace Eccube\Form\Type\Master;

use Doctrine\ORM\EntityRepository;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class CountryType extends AbstractType
{
    public function __construct(\Doctrine\ORM\EntityManager $em) {
        $this->em = $em;
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'label' => '国',
            'class' => 'Eccube\Entity\Master\Country',
            'data' => $this->em->getReference("Eccube\Entity\Master\Country", 392), // 初期値は日本 →★ これをコメントアウトすればDB情報が反映される
        ));
    }

    /**
     * {@inheritdoc}
     */
    public function getName()
    {
        return 'eccube_country';
    }

    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'master';
    }
}


src/Eccube/Form/Type/Front/EntryType.php
class EntryType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('country', 'eccube_country', array(
                'required' => false,
            ));
    }
}


app/template/default/Mypage/change.twig
                    <dl id="detail_box__address_detail">
                        <dt>{{ form_label(form.address) }}</dt>
                        <dd>
                            <div id="detail_box__country" class="form-group form-inline {% if form.country.vars.errors is not empty %}has-error{% endif %}">{{ form_widget(form.country) }}</div> {# ★ 追加 ★ #}
                            <div id="detail_box__zip" class="form-group form-inline input_zip {% if form.zip.zip01.vars.errors is not empty or form.zip.zip02.vars.errors is not empty %}has-error{% endif %}">{{ form_widget(form.zip) }}</div>
                            <div id="detail_box__address" class="{% if form.address.pref.vars.errors is not empty or form.address.addr01.vars.errors is not empty or form.address.addr02.vars.errors is not empty %}has-error{% endif %}">
                                {{ form_widget(form.address) }}
                                {{ form_errors(form.address) }}
                            </div>
                        </dd>
                    </dl>


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

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 会員の住所に国を追加したい h_tanaka 2018/2/19 12:05
     Re: 会員の住所に国を追加したい h_tanaka 2018/2/19 12:28
       Re: 会員の住所に国を追加したい h_tanaka 2018/2/19 17:58
         Re: 会員の住所に国を追加したい h_tanaka 2018/2/19 19:52
           Re: 会員の住所に国を追加したい h_tanaka 2018/2/19 19:56
             Re: 会員の住所に国を追加したい h_tanaka 2018/2/19 21:05

 



ログイン


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

統計情報

総メンバー数は88,885名です
総投稿数は110,000件です

投稿数ランキング

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