バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > フロントページで帳票出力を行いたい

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2018/3/15 15:23
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
フロントページで帳票出力を行いたい
EC-CUBE3.0.15

Form を画面に表示することなく使用することはできますでしょうか?

帳票出力プラグインを使用して、フロントページの注文履歴詳細ページでも領収書を発行できるようにしたいと考えております。

管理者側の処理をコピーして処理を作成しているのですが、$form->isValid() 判定が false になってしまいます。
バリデーションエラーの内容を出力してみようとすると、エラーメッセージが何も出力されませんでした。

app/template/default/Mypage/history.twig
                    {% if Order.CustomerOrderStatus == "発送済み" %}
                        <dt id="detail_box__commit_date">領収書:</dt>
                        <dd><a href="{{ url('plugin_order_pdf_download_receipt', { orderId : Order.id }) }}">発行</a></dd>
                    {% endif %}


app/Plugin/OrderPdf/ServiceProvider/OrderPdfServiceProvider.php
        // 領収書PDFファイルダウンロード
        $app->match('/mypage/history/download_receipt/{orderId}', '\\Plugin\\OrderPdf\\Controller\\OrderPdfController::download_receipt')
            ->bind('plugin_order_pdf_download_receipt')->assert('orderId', '\d+');


app/Plugin/OrderPdf/Controller/OrderPdfController.php
    public function download_receipt(Application $app, Request $request, $orderId)
    {

        $Order = $app['eccube.repository.order']->find($orderId);
        if ($Order == null) {
            throw new BadRequestHttpException();
        }

        /**
         * @var FormBuilder $builder
         */
        $builder = $app['form.factory']->createBuilder('admin_order_pdf');

        /* @var Form $form */
        $form = $builder->getForm();
        // $form->handleRequest($request);    // ★ この処理は不要?
        $form->get('ids')->setData($orderId);
        $form->get('title')->setData('領収書');
        $form->get('tyohyo_type')->setData('4');
        $form->get('ryosyu_no')->setData($Order->getOrderCode());
        $form->get('ryosyu_tadasi')->setData('商品代として');

        // Validation
        if (!$form->isValid()) {    // ★ バリデーションでエラーになってしまう
            log_info('The parameter is invalid!');
echo 1;
dump($form->getErrors(true));    // ★ エラーメッセージが出力されない
die;

            return $app->redirect($app->url('mypage_history', array('id' => $orderId)));
        }

        // サービスの取得
        /* @var OrderPdfService $service */
        $service = $app['orderpdf.service.order_pdf'];

        $arrData = $form->getData();    // ★ if (!$form->isValid()) {...} をコメントアウトしてみたところ、$arrData が null になってしまう

        // 購入情報からPDFを作成する
        $status = $service->makePdf($arrData);

        // 異常終了した場合の処理
        if (!$status) {
            log_info('Unable to create pdf files! Process have problems!');
echo 2;
die;

            return $app->redirect($app->url('mypage_history', array('id' => $orderId)));
        }

        // ダウンロードする
        $response = new Response(
            $service->outputPdf(),
            200,
            array('content-type' => 'application/pdf')
        );
echo 3;
die;

        // レスポンスヘッダーにContent-Dispositionをセットし、ファイル名をreceipt.pdfに指定
        $response->headers->set('Content-Disposition', 'attachment; filename="'.$service->getPdfFileName().'"');
        log_info('ReceiptPdf download success!', array('Order ID' => implode(',', $this->getIds($request))));

        return $response;
    }


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » フロントページで帳票出力を行いたい h_tanaka 2018/3/15 15:23
     Re: フロントページで帳票出力を行いたい k-yamamura 2018/3/15 16:22
       Re: フロントページで帳票出力を行いたい h_tanaka 2018/3/15 16:28
         Re: フロントページで帳票出力を行いたい minori 2018/3/16 18:15
           Re: フロントページで帳票出力を行いたい h_tanaka 2018/3/16 18:18

 



ログイン


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

統計情報

総メンバー数は88,873名です
総投稿数は110,000件です

投稿数ランキング

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.