質問 > フロント機能 > 会員登録画面に項目を追加したい |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
ronko |
投稿日時: 2024/3/10 11:28
対応状況: −−−
|
新米 登録日: 2024/3/9 居住地: 投稿: 7 |
会員登録画面に項目を追加したい ▼テンプレート
[EC-CUBE] 4.0.6-p1 更新 [レンタルサーバ] XServer [PHP] 7.2.34 [データベース] MySQL 5.7.30 [WEBサーバ] Apache [ブラウザ]Chrome 122.0.6261.112 [現象] 今回、お客様から、会員登録画面の項目を分けたいという要望があり、会員登録画面に「company_name2」という項目を新たに追加しようとし、プラグインを使わずに行おうとしました。以下の手順で行ったのですが、登録画面を表示しようとした際「システムエラー」が表示されうまくいきませんでした。 1. 「CustomerTrait.php」を以下の内容で作成 <?php namespace Customize\Entity; use Eccube\Annotation\EntityExtension; use Doctrine\ORM\Mapping as ORM; /** * @EntityExtension("Eccube\Entity\Customer") */ trait CustomerTrait { /** * @var string|null * * @ORM\Column(name="company_name2", type="string", length=255, nullable=true) */ private $company_name2; /** * Set companyName2. * * @param string|null $companyName2 * * @return Customer */ public function setCompanyName($companyName2 = null) { $this->company_name2 = $companyName2; return $this; } /** * Get companyName2. * * @return string|null */ public function getCompanyName2() { return $this->company_name2; } } 2. 「app\Customize\Entity\」に保存 3. 「EntryTypeExtension.php」を以下の内容で作成 <?php namespace Customize\Form\Extension\Front; use Eccube\Form\Type\Front\EntryType; use Symfony\Component\Form\AbstractTypeExtension; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints as Assert; class EntryTypeExtension extends AbstractTypeExtension { public function getExtendedType()#拡張させたいType名 { return EntryType::class; } public function buildForm(FormBuilderInterface $builder, array $options) { ->add('company_name2', TextType::class, [ 'required' => false, 'constraints' => [ new Assert\Length([ 'max' => $this->eccubeConfig['eccube_stext_len'], ]), ], ]); } } 4. 「app\Customize\Form\Extension\」に保存 5. XServerのデータベース管理画面(phpAdmin)に入り、dtbCustomerに項目を追加 6.会員登録フォーム(index.twig)に以下を追加 <dl> <dt> {{ form_label(form.company_name2, '会社名', { 'label_attr': { 'class': 'ec-label' }}) }} </dt> <dd> <div class="ec-halfInput{{ has_errors(form.company_name2) ? ' error' }}"> {{ form_widget(form.company_name2) }} {{ form_errors(form.company_name2) }} </div> </dd> </dl> 7. XServerのターミナルにて以下を実行 php bin/console cache:clear --no-warmup php bin/console eccube:generate:proxies その結果、顧客登録画面にアクセスしたところ「システムエラー」が発生し、登録画面の表示がうまくいきませんでした。 原因についておわかりの方ご教授いただけないでしょうか。 よろしくお願いします。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 会員登録画面に項目を追加したい | ronko | 2024/3/10 11:28 |
Re: 会員登録画面に項目を追加したい | k.nakayama | 2024/3/10 12:01 |
Re: 会員登録画面に項目を追加したい | ronko | 2024/3/10 13:53 |
Re: 会員登録画面に項目を追加したい | mcontact | 2024/3/10 15:17 |
Re: 会員登録画面に項目を追加したい | ronko | 2024/3/10 19:27 |
Re: 会員登録画面に項目を追加したい | mcontact | 2024/3/10 20:19 |
Re: 会員登録画面に項目を追加したい | ronko | 2024/3/10 20:38 |
Re: 会員登録画面に項目を追加したい | k.nakayama | 2024/3/10 22:53 |
Re: 会員登録画面に項目を追加したい | ronko | 2024/3/10 23:47 |
Re: 会員登録画面に項目を追加したい | ronko | 2024/3/10 23:49 |
Re: 会員登録画面に項目を追加したい | k.nakayama | 2024/3/11 7:24 |
Re: 会員登録画面に項目を追加したい | mcontact | 2024/3/12 13:46 |