設定可能なリソースページブロック
Omeka Sには、アイテム、アイテムセット、メディアの表示ページ用の設定可能なブロックなど、エキサイティングな新機能が搭載されています。この機能により、サイトの作成者はこれらの表示ページにさまざまなタイプのコンテンツを含めたり、配置したりすることができます。この設定可能なコンテンツで、ブロックとして編成されたものには、リソースの値、アイテムセット、リンクされたリソース、関連するメディアを表示する様々な方法が含まれています。
テーマにリソースページブロック構成を追加する
テーマ設定での領域の定義
theme.ini
ファイルから始めます。そこでは、設定可能な領域およびそれらがサポートするブロックを定義する必要があります。
アイテム、アイテムセット、メディア用の領域を作成できます。resource_page_regions
をリソースページの領域として特定した後、それぞれの領域に名前をつけます。これはアイテム表示ビュー用の「メイン」という領域を作成する例です。
text
resource_page_regions.items.main = "メイン"
最初は必ずresource_page_regions
から始めます。次の部分では領域がアイテム表示ページに表示されることを表しています。最後のパラメーターは、領域につける名前で、割り当てられた値は管理インターフェースに表示される領域のわかりやすい名前です。
領域を作成した後、その領域にデフォルトで含まれるブロックを定義する必要があります。リソースページの構成機能は、領域とその領域用のデフォルトブロックが定義された後にのみ表示されます。 以下は、Omeka Sが構成用に提供するすべてのブロックのリストと、それらをサポートするリソースページです。
ブロック | 短い名前 | アイテム | メディア | アイテムセット |
---|---|---|---|---|
値 | values | ✅ | ✅ | ✅ |
サイトページ | sitePages | ✅ | ✅ | ✅ |
リンクされたリソース | linkedResources | ✅ | ✅ | ✅ |
リソースクラス | resourceClass | ✅ | ✅ | ✅ |
メディア埋め込み | mediaEmbeds | ✅ | ✅ | |
LightGalleryメディアビューア | lightGallery | ✅ | ✅ | |
アイテムセット | itemSets | ✅ | ||
メディアリスト | mediaList | ✅ |
リソースページには通常そのメタデータ値が含まれるため、そのブロックをデフォルトで含めるのが良い候補です。次の例では、アイテムページのメイン領域のデフォルトブロックとして値ブロックを定義しています。 text resource_page_blocks.items.main[] = "values"
前の例resource_blocks.items.main
からほとんど同じ内容を取り、その領域のブロックの配列にショートネームがブロックのものを設定して配列に加えます。表は値のショートネームが単にvalues
であることを示しています。これを領域のデフォルトにしたいブロックに対してそれぞれ行います。
この行をtheme.ini
に含めた後、Omeka Sインターフェースでリソースページの構成にアクセスできるようになります。サイト管理エリアに移動し、「テーマ」を選択します。テーマが有効であることを確認してください。有効になると、「リソースページを構成する」というボタンがテーマの説明の下に表示されます。
クリックすると以下のようなインターフェイスが表示されます。
アイテム表示ビューでアイテムセット、リンクされたリソース、メディアリストを自動的に表示させたい場合、次の例のようになります。 text resource_page_blocks.items.main[] = "itemSets" resource_page_blocks.items.main[] = "linkedResources" resource_page_blocks.items.main[] = "mediaList"
すべてのリソースタイプでブロックを利用可能にしたい場合は、各リソースビューに対してそれを定義する必要があります。たとえば、各タイプのリソース値を構成可能にしたいと思うかもしれません。各リソースタイプが値ブロックを自動的に表示するようにする3行が必要です。 text resouce_page_blocks.items.main[] = "values" resouce_page_blocks.item_sets.main[] = "values" resouce_page_blocks.menu.main[] = "values"
表示ページでのデフォルトコンテンツ
以下は、設定可能なブロック機能が導入される前のアイテム表示ページに表示されたデフォルトコンテンツリストです:
ブロック | 短い名前 |
---|---|
値 | values |
アイテムセット | itemSets |
サイトページ | sitePages |
リンクされたリソース | linkedResources |
メディアリスト | mediaList |
アイテムセットとメディアの表示ページは、デフォルトでリソースの値のみを表示しました。
ビューでのページブロックの表示
デフォルトビューの出力
テーマがOmeka Sのデフォルトビューに依存している場合、設定されたページブロックが表示される単一のメイン領域がテーマに自動的に含まれます。デフォルトビューには、以下のような行が含まれており、ブロックを表示します。この例はアイテムの表示ページから抜粋したもので、$item
を渡します。
php-template
複数の領域をサポートするカスタムビュー
複数の領域がブロックを表示できるようにするためには、テーマ内に表示ページのカスタムバージョンを持つ必要があります。また、theme.ini
で複数の領域を定義する必要もあります。以下の例では、テーマはアイテムの表示ページで「メイン」と「右サイドバー」という2つのコンテンツ領域をサポートしています。
text
resource_page_regions.items.main = "メイン"
resource_page_regions.items.right = "右サイドバー"
これら2つの領域は、ブロックを追加するためのリソースページブロック構成インターフェイスに表示されるはずです。
これらの設定された領域を出力するために、テーマはshow.phtml
内でこれらのブロックが現れる場所を定義する必要があります。theme.ini
からの領域のショートネームをresourcePageBlocks()
に渡すことによって、各領域のブロックが呼び出されます。2つの領域はshow.phtml
内で以下のように見えるかもしれません。
php-template
既存のカスタム表示ページをリソースページブロックを使用するように更新する
テーマのカスタム表示ページを更新する例を見てみましょう。このケースでは、Papersを検討します。こちらが設定可能なリソースページブロックの前のアイテムの表示ページのスクリーンショットです。
これは、Papersのカスタムアイテム表示ページでのコンテンツがどのように見えるかです。アイテムタイトル、メディア埋め込みオプション、リソース値、アイテムセット、メディアリストオプション、リンクされたリソースを明示的に順序立てて設定しています。これらのコンテンツタイプは単一列レイアウトで表示されます。 php-template …
pageTitle($item->displayTitle(), 2); ?> trigger('view.show.before'); ?><div class="media-embeds">
<?php foreach ($itemMedia as $media):
echo $media->render();
endforeach;
?>
</div>