質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

0回答

2020閲覧

EC-CUBE3.0.13 form_widgetの呼び出し先のカスタマイズ

yusukesasaki

総合スコア28

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2020/05/26 04:45

EC-CUBE3.0.13

管理画面の受注一覧画面 (app\template\admin\Order\index.twig) 内で {{ form_widget(searchForm.product_type) }} という記述があり、HTMLでの表示は、

<div id="admin_search_order_product_type"> <div class="radio-inline"> <div class="radio"> <label class=""><input type="radio" id="admin_search_order_product_type_0" name="admin_search_order[product_type]" value="0" checked=""> 通常商品</label> </div> </div> <div class="radio-inline"> <div class="radio"> <label class=""><input type="radio" id="admin_search_order_product_type_1" name="admin_search_order[product_type]" value="3"> 予約商品</label> </div> </div> </div>

このようになっているのですが、これを編集したい場合どのファイルを修正したら良いでしょうか。

src\Eccube\Controller\Admin\Order\OrderController.php で 、

$builder = $app['form.factory'] ->createBuilder('admin_search_order');

となっていて、それらしいファイル src\Eccube\Form\Type\Admin\SearchOrderType.php を見てみましたが product_type の記述は見当たりませんでした。

SearchOrderType.php の全文です。

<?php /* * This file is part of EC-CUBE * * Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. * * http://www.lockon.co.jp/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ namespace Eccube\Form\Type\Admin; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints as Assert; class SearchOrderType extends AbstractType { private $config; public function __construct($config) { $this->config = $config; } /** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { $config = $this->config; $builder // 受注ID・注文者名・注文者(フリガナ)・注文者会社名 ->add('multi', 'text', array( 'label' => '受注ID・注文者名・注文者(フリガナ)・注文者会社名', 'required' => false, 'constraints' => array( new Assert\Length(array('max' => $config['stext_len'])), ), )) ->add('status', 'order_status', array( 'label' => '対応状況', )) ->add('multi_status', 'order_status', array( 'label' => '対応状況', 'expanded' => true, 'multiple' => true, )) ->add('name', 'text', array( 'required' => false, )) ->add('email', 'email', array( 'required' => false, )) ->add('tel', 'text', array( 'required' => false, 'constraints' => array( new Assert\Regex(array( 'pattern' => "/^[\d-]+$/u", 'message' => 'form.type.admin.nottelstyle', )), ), )) ->add('sex', 'sex', array( 'label' => '性別', 'required' => false, 'expanded' => true, 'multiple' => true, )) ->add('payment', 'payment', array( 'label' => '支払方法', 'required' => false, 'expanded' => true, 'multiple' => true, )) ->add('order_date_start', 'date', array( 'label' => '受注日(FROM)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('order_date_end', 'date', array( 'label' => '受注日(TO)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('payment_date_start', 'date', array( 'label' => '入金日(FROM)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('payment_date_end', 'date', array( 'label' => '入金日(TO)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('commit_date_start', 'date', array( 'label' => '発送日(FROM)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('commit_date_end', 'date', array( 'label' => '発送日(TO)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('update_date_start', 'date', array( 'label' => '更新日(FROM)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('update_date_end', 'date', array( 'label' => '更新日(TO)', 'required' => false, 'input' => 'datetime', 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'empty_value' => array('year' => '----', 'month' => '--', 'day' => '--'), )) ->add('payment_total_start', 'integer', array( 'label' => '購入金額(下限)', 'required' => false, )) ->add('payment_total_end', 'integer', array( 'label' => '購入金額(上限)', 'required' => false, )) ->add('buy_product_name', 'text', array( 'label' => '購入商品名', 'required' => false, )) ; $builder->add( $builder ->create('kana', 'text', array( 'required' => false, 'constraints' => array( new Assert\Regex(array( 'pattern' => "/^[ァ-ヶヲ-゚ー]+$/u", 'message' => 'form.type.admin.notkanastyle', )), ), )) ->addEventSubscriber(new \Eccube\EventListener\ConvertKanaListener('CV')) ); } /** * {@inheritdoc} */ public function getName() { return 'admin_search_order'; } }

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問