バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員登録画面に項目を追加したい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
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

 



ログイン


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

統計情報

総メンバー数は96,032名です
総投稿数は111,648件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2325
5
umebius
2085
6
yuh
1893
7
h_tanaka
1852
8
red
1574
9
mcontact
1536
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
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.