LoginSignup
1
0

More than 3 years have passed since last update.

[Drupal] Viewsの結果をCSVにエクスポートする方法

Posted at

今回はViews Data Exportモジュールを使用してViewsの結果をCSVにエクスポートする方法を紹介したいと思います。

やりたいこと

任意のビューのヘッダーにCSVエクスポート用のリンクを設置して、リンクをクリックするとビューの内容をCSVにしたファイルがダウンロードされるようにしたい。

画面のイメージ:
スクリーンショット 2021-02-26 22.36.15.png

ダウンロードできるCSVのイメージ:

タイトル,コンテンツタイプ,投稿者,状態,更新
Test,記事,test,Published,"2021/01/28 - 10:00"
Test2,記事,test,Unpublished,"2021/02/26 - 22:10"

Views Data Exportモジュールのインストール

まずは通常通りモジュールをインストールします。

composer require drupal/views_data_export
drush en views_data_export

データエクスポートディスプレイの設定

次に、CSVを追加したいビューの設定画面を開き、画面左上からデータエクスポートのディスプレイを追加します。このディスプレイに対してCSVの設定を行っていきます。
スクリーンショット 2021-02-26 21.43.46.png

主要なものとしては、以下の画像の設定項目から、ファイルの形式(CSV、TSV、XMLから選べます)、ファイルのリクエストに使用するパスやダウンロード時のファイル名、パスに対するアクセス制限カラムの種類やラベルを設定できます。(今回は編集ボタンなど不要なフィールドは削除します。)
csv_settings.png

ちなみに、CSVへのリンクを貼りたいディスプレイのフィルターの条件で外部設置フィルターが設定されている場合、データエクスポートディスプレイ側でも同様の外部設置フィルターを設置しておくと、元のディスプレイで絞込んだ結果がそのままCSVにも反映されます。もしCSVの方は絞り込みたくないのであれば単純にデータエクスポートディスプレイ側の外部設置フィルターを削除すればOKです。

設定を保存したら、ブラウザにパスを直打ちするとCSVがダウンロードできるようになります。(この設定画面右上の「データエクスポートを表示」をクリックでもダウンロードできます。)

データエクスポートディスプレイへのリンクの設置

ここでCSVへのリンクを貼りたいディスプレイの設定画面を開き、ヘッダーの「追加」をクリックします。
page_header.png

Link to displayをチェックし、保存します。表示でさきほど作成したディスプレイを選択します。ラベルにはリンクテキストにしたい文字列を入力します。
スクリーンショット 2021-02-26 22.22.40.png

ここでビューを保存します。

CSVへのリンクが表示されているのが確認できると思います。
スクリーンショット 2021-02-26 22.36.15.png

外部設置フィルターで絞込んだ状態でCSVをエクスポートしたら...
スクリーンショット 2021-02-26 22.59.24.png

中身もしっかり絞り込まれてますね :ok_hand:

Title,"Content type",Author,Status,Updated
Test2,記事,test,Unpublished,"2021/02/26 - 22:10"

というわけで、Viewsの結果をCSVにエクスポートする方法の紹介でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0