バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > EC-CUBE3.0.15 既存フォームのプラグインでの拡張方法

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shige0309
投稿日時: 2018/2/27 11:30
対応状況: 確認中
半人前
登録日: 2018/2/27
居住地:
投稿: 28
EC-CUBE3.0.15 既存フォームのプラグインでの拡張方法
▼テンプレート
[EC-CUBE] EC-CUBE3.0.15
[レンタルサーバ] XAMPP
[OS] MAC High Sierra
[PHP] PHP Version 7.1.11
[データベース] MariaDB 10.1.28-MariaDB - Source distribution
[WEBサーバ] Apache/2.4.29 (Unix) OpenSSL/1.0.2m PHP/7.1.11 mod_perl/2.0.8-dev Perl/v5.16.3
[ブラウザ] Google Chrome バージョン: 64.0.3282.186(Official Build) (64 ビット)
[現象]
EC-CUBE 3.0.15 を使用してまして、特定商取引法のメールアドレスの必須をプラグインにて外したいと思い色々試しているのですが、うまく反映されず困っております。

当方お恥ずかしいお話ではありますが、プラグインでの拡張方法がよくわかっておらず、大変恐縮ではありますがご教示頂けると幸いです。よろしくお願いいたします。

該当のコードは下記になります。

--------- config.yml ----------
name: カスタム特定商取引法
version: 1.0.0
code: CustomTradelaw
event: Event

-------- event.yml --------
admin.setting.shop.trade.law.index.initialize:
    - [onCostomTradelawInt, NORMAL]

-------- Event.php --------
namespace Plugin\CostomTradelaw;

use Eccube\Event\EventArgs;

class Event
{
    private $app;

    public function __construct($app)
    {
        $this->app = $app;
    }
    /**
     * メールアドレスの必須を除外
     * @param EventArgs $event
     */
    public function onCostomTradelawInt(EventArgs $event) {
        $builder = $event->getArgument('builder');
        $builder->add('law_email', 'email', array(
                'label' => 'test',
                'required' => false,
                'constraints' => array(
                    new Assert\Email(array('strict' => true)),
                    new Assert\Regex(array(
                        'pattern' => '/^[[:graph:][:space:]]+$/i',
                        'message' => 'form.type.graph.invalid',
                    )),
            ),
        ));
    }
}


試しに下記コードに置き換えてやってみたのですが、「テスト項目」は追加されませんでした。
http://doc.ec-cube.net/plugin_tutorial-form

--------- config.yml ----------
name: カスタム特定商取引法
version: 1.0.0
code: CustomTradelaw
event: Event

-------- event.yml --------
admin.setting.shop.trade.law.index.initialize:
    - [onCostomTradelawInt, NORMAL]

-------- Event.php --------
namespace Plugin\CostomTradelaw;

use Eccube\Event\EventArgs;

class Event
{
    private $app;

    public function __construct($app)
    {
        $this->app = $app;
    }

    public function onCostomTradelawInt(EventArgs $event) {
        $builder = $event->getArgument('builder');
        $builder->add(
            'plg_test',
            'text',
            array(
                'label' => 'テスト項目',
                'mapped' => false,
            )
        );
    }
}



ディレクトリ構成は下記となります。
ファイル3つのみですが問題ないでしょうか?

----- ディレクトリ構成 -----
CustomTradelaw
|
|----config.yml
|
|----Event.php
|
|----event.yml
minori
投稿日時: 2018/2/27 17:37
対応状況: −−−
常連
登録日: 2017/10/12
居住地:
投稿: 40
Re: EC-CUBE3.0.15 既存フォームのプラグインでの拡張方法
上記内容を見る限りでは、
Eventの定義は問題ないように思います。

プラグインが無効のままの状態になっていたり
しないでしょうか?
shige0309
投稿日時: 2018/2/27 22:22
対応状況: 解決済
半人前
登録日: 2018/2/27
居住地:
投稿: 28
Re: EC-CUBE3.0.15 既存フォームのプラグインでの拡張方法
ご返信ありがとうございます!

Event.phpのnamespace「CustomTradelaw」と記述しないといけないところが「CostomTradelaw」となっておりました。

以後気をつけたいと思います
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.