バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 会員管理画面に、フォームを追加したい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
thegifumap
投稿日時: 2018/12/10 16:19
対応状況: 開発中
新米
登録日: 2018/11/3
居住地:
投稿: 8
会員管理画面に、フォームを追加したい
▼テンプレート
[EC-CUBE] 3.x系
[サーバ] xampp
[OS] windows7
[PHP] PHP7
[データベース] Mysql
[ブラウザ] Firefox
[導入プラグインの有無] 無し
[現象]
EC-CUBEのフォーム追加のサンプルを参考に、チェックボックスを追加するプログラムを書いてみたが、動作しない。

Pluginのログは下記の通り
[2018-12-10 16:11:15,907101] eccube.INFO [NULL] [f613ef9a] [NULL] [RouterListener:onKernelRequest:145] - Matched route "admin_customer_new". {"route_parameters":{"_controller":"\\Eccube\\Controller\\Admin\\Customer\\CustomerEditController::index","_route":"admin_customer_new"},"request_uri":"http://localhost/eccube3/admin_page/customer/new"} [GET, /eccube3/admin_page/customer/new, 127.0.0.1, http://localhost/eccube3/admin_page/, Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0]
[2018-12-10 16:11:15,929103] eccube.INFO [55ad0c33] [f613ef9a] [2] [LogListener:logRequest:83] - > GET /eccube3/admin_page/customer/new [GET, /eccube3/admin_page/customer/new, 127.0.0.1, http://localhost/eccube3/admin_page/, Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0]
[2018-12-10 16:11:16,121114] eccube.INFO [55ad0c33] [f613ef9a] [2] [LogListener:logResponse:96] - < 200 [GET, /eccube3/admin_page/customer/new, 127.0.0.1, http://localhost/eccube3/admin_page/, Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0]
468
投稿日時: 2018/12/11 8:24
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 会員管理画面に、フォームを追加したい
提示いただいたログを見る限りでは、特にエラーが発生している訳ではないようです。
項目を追加されたのはformのExtensionを利用する方法でしょうか?
ServiceProviderでの追加が上手く行っていない、またはtwigに対する差し替えが上手くいっていないのかもしれません。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

thegifumap
投稿日時: 2018/12/13 9:29
対応状況: −−−
新米
登録日: 2018/11/3
居住地:
投稿: 8
Re: 会員管理画面に、フォームを追加したい
返信遅くなり申し訳ありません。


ServiceProviderは、下記の通りになってます。

namespace Plugin\B2BShop;

use Monolog\Logger;
use Monolog\Handler\FingersCrossedHandler;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
use Plugin\B2BShop\Form\Type\B2BShopConfigType;
use Silex\Application as BaseApplication;
use Silex\ServiceProviderInterface;

class B2BShopServiceProvider implements ServiceProviderInterface
{

    public function register(BaseApplication $app)
    {
        // プラグイン用設定画面
        $app->match('/'.$app['config']['admin_route'].'/plugin/B2BShop/config', 'Plugin\B2BShop\Controller\ConfigController::index')->bind('plugin_B2BShop_config');

        // 独自コントローラ
        $app->match('/plugin/b2bshop/hello', 'Plugin\B2BShop\Controller\B2BShopController::index')->bind('plugin_B2BShop_hello');

        // Form
        $app['form.types'] = $app->share($app->extend('form.types', function ($types) use ($app) {
        	$types[] = new B2BShopConfigType();

            return $types;
        }));


        // Repository

        // Service

        // メッセージ登録
        // $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml';
        // $app['translator']->addResource('yaml', $file, $app['locale']);

        // load config
        // プラグイン独自の定数はconfig.ymlの「const」パラメータに対して定義し、$app['b2bshopconfig']['定数名']で利用可能
        // if (isset($app['config']['B2BShop']['const'])) {
        //     $config = $app['config'];
        //     $app['b2bshopconfig'] = $app->share(function () use ($config) {
        //         return $config['B2BShop']['const'];
        //     });
        // }

        // ログファイル設定
        $app['monolog.logger.b2bshop'] = $app->share(function ($app) {

            $logger = new $app['monolog.logger.class']('b2bshop');

            $filename = $app['config']['root_dir'].'/app/log/b2bshop.log';
            $RotateHandler = new RotatingFileHandler($filename, $app['config']['log']['max_files'], Logger::INFO);
            $RotateHandler->setFilenameFormat(
                'b2bshop_{date}',
                'Y-m-d'
            );

            $logger->pushHandler(
                new FingersCrossedHandler(
                    $RotateHandler,
                    new ErrorLevelActivationStrategy(Logger::ERROR),
                    0,
                    true,
                    true,
                    Logger::INFO
                )
            );

            return $logger;
        });

    }

    public function boot(BaseApplication $app)
    {
    }

}



Formの追加は、プラグイン解説の方法を取っています(Extensionではないと思われます)。

Form/Type内にある定義ファイル(B2BShopConfigType.php)は以下の通りです。


namespace Plugin\B2BShop\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints as Assert;

class B2BShopConfigType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
    	$builder->add('public', CheckboxType::class, array(
    			'label'    => 'B2B顧客',
    			'required' => false,
    	));
    }

    public function getName()
    {
        return 'b2bshop_config';
    }

}



twingについては、よく分かっておりません。
大変申し訳ないのですが、ご教授いただけないでしょうか?
468
投稿日時: 2018/12/18 9:33
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 会員管理画面に、フォームを追加したい
こちらはプラグイン設定画面にチェックボックスを表示しようとされているのでしょうか?

ServiceProviderやB2BShopConfigType.phpの記述は問題無いと思いますが、
ConfigControllerの記述はどうなっていますか?
私がプラグインの設定画面にformを設定する時はcreateBuilder()を利用して、その後、$formをtwigに渡しています。

$form = $app['form.factory']->createBuilder('b2bshop_config', $Config)->getForm();
return $app->render('プラグイン名/Resource/template/config.twig', array('form' => $form->createView()));

※$Configはプラグイン設定値を格納したエンティティで、このコードより先にDBから取り出しています。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


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

統計情報

総メンバー数は88,703名です
総投稿数は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.