バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > バッチ処理の中で管理画面のコントローラを呼び出したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ikegam1
投稿日時: 2019/9/9 15:49
対応状況: −−−
新米
登録日: 2019/7/10
居住地:
投稿: 2
バッチ処理の中で管理画面のコントローラを呼び出したい
▼テンプレート
[EC-CUBE] EC-CUBE 4.0.2
[レンタルサーバ] aws ec2
[OS] Amazon Linux 2
[PHP] PHP 7.3.4
[データベース] postgresql11
[WEBサーバ] nginx/1.12.2
[ブラウザ] cli
[導入プラグインの有無] 有
[カスタマイズの有無] 有
[現象]

(株)カラーズの南島と申します。

現在とあるサイトのバッチ処理(CLI)の独自プラグインを作成しております。
そのバッチ処理の中で、受注ステータスの変更や納品書PDFの生成を行いたいのですが、管理画面には同様の機能がすでに存在します。

CLIの処理の中でこれらの管理画面の処理をキックできればと思っているのですが良い方法がございましたらご教示いただけませんでしょうか。
内部的にコントローラをincludeするようなやり方とかないでしょうか。
URIで言うと以下の2点です。

- https://xx.xx/admin/shipping/{id}/order_status
- https://xx.xx/admin/order/export/pdf?ids

(1点目はRESTful APIっぽいですが、どこかに仕様とかあったら教えて欲しいです)
nanasess
投稿日時: 2019/9/12 16:39
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: バッチ処理の中で管理画面のコントローラを呼び出したい
残念ながら4系に Restful な API は、まだありません。
また、 Controller を include するのも難しいと思います。

認証をどうするかという問題はありますが、 Symfony\Component\HttpKernel\Client で Controller へ GET なり PUT のリクエストを送るという手はあります。

tests/Eccube/Tests/Web/Admin/Order/OrderControllerTest.php あたりが参考になると思います。

パフォーマンスや排他制御などが気になる場合は、 Controller 内の処理を独自に移植するのが良いと思います
ikegam1
投稿日時: 2019/9/19 15:36
対応状況: 解決済
新米
登録日: 2019/7/10
居住地:
投稿: 2
Re: バッチ処理の中で管理画面のコントローラを呼び出したい
nanasess様

確認が遅れましてすみません。
参考になるご意見ありがとうございます。

確かにテストコードは参考になりそうです。
HTTPリクエストを活用しつつ、部分的にはControllerの処理移植で対応できればと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.