DrupalのViews ListにCSV機能を取り付ける方法


Post:2020/12/11

Update:2021/02/01

モジュール
Pic
DrupalのViews ListにCSV機能を取り付ける方法

Sodai Hirano

皆さんこんにちは!!
アクレットの平野です!
今回は、クライアント様からサービス利用者の掲載アイテムの一覧をCSV出力する機能が欲しいとの要望があり、その際に学んだこと・方法をシェアしていきます。

使用したモジュール一覧:
・Ludwig(DrupalはComposer推奨ですが、あえてLudwig使用してみました!)
・Views Data Export
・Restful Web Services
・Serialization
・Serialization(CSV)

モジュールをインストールする
Views Data Export モジュールをインストールすると


これでモジュールが入りましたが、まだインストールはできません。
このモジュールは、Restful Web Services,Serialization,Csv_serializationという他のモジュールとセットでないと動作しないためです。
ではどのように、他のモジュールと組み合わせていくか見て行きましょう!

RESTful Web Services, Serializationに関してはViews Data Exportをインストールした時点でWEB SERVICESのセクションにすでにインストールされています。 問題はCSV_Serialization です。 これはステータスがMissingつまりまだインストールすらされていない、存在していないよとうことです。 なので次はCSV_Serialization モジュール(https://www.drupal.org/project/csv_serialization) を検索し飛びます。


読み進めていくと、


 

ぎゅっとまとめると、このモジュールはDruopal8のためにデータをCSVデータに変換してくれるモジュールだよってことが書かれています。

足りていないCSV Serializationモジュールのインストール

Drupal.org(色々なモジュールなどを提供しているコミュニティーサイト)から.tar.gzという拡張子のファイルのURLを入れ込みインストールを開始します!

これで必要なモジュールは全て揃いました。

Ludwigによるインストール
Ludwigをインストールした後、管理者用ツールバーのレポート直下にPackagesというものが追加されます。

これをクリックすると、本来なければならないパッケージの部品(ライブラリ)を教えてくれます。


パッケージのステータスが喪失、要はありませんよってことです。 なので、ここからFileZillaにいき、modules/csv_serialization/lib/league-csv/8.2.2にダウンロードしたこのleague/csvファイルを入れてあげないといけないんですね。 このパートが手動なので、Ludwigは推奨されていないんでしょうね笑 FileZillaよりmodule-> csv_serialization-> lib?ん?libがない・・・ なかったら作っちゃいましょう。 csv_serializationにカーソルを合わせてディレクトリを作成をクリック。 ディレクトリの名前:自分のサイトの名前/modules/csv_serialization/lib/league-csv/8.2.2に一気にしちゃいましょう! (ちなみに、ディレクトリを作成時のコピペは不可になっています。) あとは、ダウンロードしたフォルダを正しいファイルディレクトリに置いてやるだけで完成です!!

先程のパッケージのステータスがインストール済みになれば成功です。
こんな感じ↓


終わりです。

最後に
コロナでDX化が進みますますECサイトの需要も高まってきました。
売り上げをデータで抽出したいクライアントさんも増えていますのでこの辺のデータ抽出方法はしっかりと抑えておきたいところですね!!

ここまで読んでいただきましてありがとうございました!

弊社HPはこちら→https://www.acret.jp

Profile picture for user Sodai Hirano
Sodai Hirano
フルスタックエンジニア
10代の頃から世界を旅し、オーストラリアに4年、フィリピンに1年在住しておりました。 地元は北海道の小樽という観光地です! 最初の1年はフィリピンの子会社で働き,ドルーパル開発に携わってきました。 2020年7月からは、本社の神戸でフルスタックエンジニアとして日々より良いサービス開発に取り組んでいます!