【Omeka S モジュール紹介】BulkExport:アイテムの詳細画面にエクスポート機能を追加する
概要
BulkExportモジュールについて、以下の記事で、データを一括エクスポートする方法を紹介しました。
本モジュールではアイテムの詳細画面にエクスポートボタンを表示する機能も提供されています。この機能の使い方について紹介します。
使い方
インストールの方法は一般的なモジュールの方法と同様です。上記の記事でも簡単に説明しています。
モジュールを有効化すると、以下のように、アイテムの詳細画面に各種フォーマットでのエクスポートリンクが表示されます。
表示する項目は、サイトごとの設定画面で変更できます。設定画面には以下のようにアクセスします。
設定画面で下のほうにスクロールすると、Bulk Exportに関する設定画面が表示され、Formatters to display in resource pages
などの項目で設定を変更することができます。
エクスポートリンクの見た目を変更する
ここではエクスポートリンクの見た目を変更する方法について説明します。本来は新たなテーマを作成して、本モジュール用のファイルを作成すべきですが、今回はdefaultのテーマを使用します。
defaultのテーマは、以下のような場所にあります。
{Omeka Sのインストールディレクトリ}/themes/default
まず、このdefaultテーマの中に、BulkExportモジュールのファイルのコピーします。例えば以下です。
cd {Omeka Sのインストールディレクトリ}
mkdir themes/default/view/common
cp modules/BulkExport/view/common/bulk-export.phtml themes/default/view/common
バージョンによって内容は異なるかと思いますが、bulk-export.phtml
は以下のような内容になっています。
// Fake or invisible ids or no exporters.
if (!count($urls)) return;
$plugins = $this->getHelperPluginManager();
$url = $plugins->get('url');
$escape = $plugins->get('escapeHtml');
$assetUrl = $plugins->get('assetUrl');
$translate = $plugins->get('translate');
$escapeAttr = $plugins->get('escapeHtmlAttr');
$route = $this->status()->isAdminRequest() ? 'admin/resource-output' : 'site/resource-output';
$this->headLink()->appendStylesheet($assetUrl('css/bulk-export.css', 'BulkExport'));
?>
<div class="bulk-export <?= $divclass ?>">
<?php if ($heading): ?>
<h4><?= $escape($heading) ?></h4>
<?php endif; ?>
<ul class="exporters">
<?php foreach ($exporters as $format => $label):
$labelFormat = in_array($format, ['ods', 'xlsx', 'xls'])
? sprintf($translate('Download as spreadsheet %s'), $label)
: (in_array($format, ['bib.txt', 'bib.odt'])
? $translate('Download as text')
: sprintf($translate('Download as %s'), $label));
?>
<li><a download="download" class="exporter download-<?= str_replace('.', '-', $format) ?>" href="<?= $escapeAttr($urls[$format
]) ?>" title="<?= $escapeAttr($labelFormat) ?>"><?= $label ?></a></li>
<?php endforeach; ?>
</ul>
</div>
ここで、a
タグの内容をボタンに変更してみます。
...
<li><button type=“button” onclick="location.href='<?= $escapeAttr($urls[$format
]) ?>'"><?= $label ?></button></li>
...
以下のように、表示が変わります。
その他、cssを用いることで、スタイルを変更することもできます。
まとめ
BulkExportモジュールの利用、およびモジュールの見た目をテーマで変更する際の参考になりましたら幸いです。
Discussion