Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月3日 at 14:41

小出しですいませんが、

concrete5 には CSV のインポート・エクスポートを行うライブラリ League/CSV ライブラリが同梱していて、こっちを使うとよりスマートに、CSV の出力を行うことができます。

全然、説明が無いのですが、
CSV でユーザーのインポート・エクスポートができるアドオンがあるので、
これを参考にエクスポートの部分を調整してもらえればと思います。

http://github.com/concrete5cojp/addon_csv_user_import_export

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月3日 at 16:45
おっと…csv_user_import_exportの作者です。このアドオンはほとんど参考にならないかと。

管理画面からのエクスポートと同じ機能ですよね?
このコードをコピペすればそのまま同じ機能です。

http://github.com/concrete5/concrete5/blob/8.5.4/concrete/src/Page/Controller/DashboardExpressEntriesPageController.php#L99-L117
 

Re: Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月4日 at 11:15
hissyさん

 おはようございます。
ありがとうございます。
ぜひ確認させていただきます。
追加する機能が増えるにつれ、まだまだ勉強不足を痛感
しております。
勉強させていただきます。
 

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月4日 at 11:14
katzさん

 おはようございます。
ありがとうございます。まだまだ、研究が足りません(;^_^A
勉強させていただきます。
今週の週間concrete5も楽しみにいたしております。
 

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月7日 at 16:49
2月5日に配信した「第379回 週刊 concrete5」で取り上げました。
http://www.youtube.com/watch?v=aDoR-AOtKAQ
29:25あたりを参照してみてください。

基本的にはhishikawaさんのアドバイスを参照してください、というまとめですが、
コードに関する具体的な補足説明を行っています。
 

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月8日 at 9:44
動画でCSVWriterがライブラリであると解説されていますが、間違いです。
このクラスはconcrete5のコア機能で、エクスプレスエントリーをエクスポートするためにあらかじめ作られています。

逆に、私のアドオンが参考にならないのは、私のアドオンが使っているCsvWriterが外部ライブラリで、しかもconcrete5には同梱されていないものだからです。

以上、誤解を招いてはいけないと思い、補足しておきます。
 

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月9日 at 9:17
hissyさん
 おはようございます。
ありがとうございます。よく理解できました。
このコアクラスと、ExpressエンティティIDを
動的に取得できれば、csvファイルダウンロード
機能が実装できると思います。
ありがとうございました。
 

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

2021年2月8日 at 10:58
aniyaさま、おはようございます。
いつもご支援を賜りまして、ありがとうございます。
今回の週間concrete5を拝聴し、hissyさんからご教示いただいた、Githubのコードを
確認させていただき、ExpressのCSVエクスポートの動きが理解できてまいりました。
external formのリストボックスで選択したExpressエンティティ(番号)を引数として
csvライブラリに渡して検証してみたいとおもいます。
concrete5には、フォームヘルパーやメールヘルパーと同様に、CsvWriterのような強力
なライブラリが最初から備わっているのは、本当に助かります。
1からphpコードを書くことに比べ、開発効率が格段に上がります。
ありがとうございます。頑張って解決いたします。