ギャラリーについて

49 views
Skip to first unread message

honda

unread,
Aug 25, 2022, 1:20:59 AM8/25/22
to a-blog cms forum
いつもお世話になっております。

お客様のご要望で、実績、状況という2つのエントリーページを作って
それぞれ画像を並べるだけのギャラリーを表示したいと模索中です。
1ページ70枚(一括表示)と多く今後も増えていく予定です。
a-blogにはギャラリー機能がないため画像ユニットを使う、
カスタムフィールドグループを作る、と工夫次第になりますが、
そもそも70枚を超えるような運用は適しているでしょうか。


また、さらに条件として
・実績、状況それぞれから任意の画像を指定して
 トップページのスライダー画像として呼び出す
がありまして。

実績または状況エントリーページを更新すれば
スライダーも自動的に反映される仕組みです。
エントリーページのギャラリーだけならともかく、
スライダー自動反映はお手上げです。
TOPスライダーはモジュールID作って切り分けるのが現実的かと考えていますが
もし実現可能な方法あればアドバイスいただけると幸いです。

よろしくお願いいたします。

山本一道@アップルップル

unread,
Aug 25, 2022, 9:31:37 PM8/25/22
to a-blog cms forum
一般的に、ギャラリーを作る際には、写真を簡単にアップロードできるようなことを考えた方が投稿が楽になるので、カスタムフィールドグループの画像の場合には、1枚づつ写真を選択する必要がありますが、画像ユニットの場合には複数枚同時に選択してアップロードが可能で楽にアップロードが可能になります。
また、その際のモジュールは Unit_List を利用することでアップロードされたユニットの状態に関係なく写真だけをリスト表示できるのでオススメです。

エントリーの画像ユニットで多くの写真を扱うギャラリーの例として https://chiyo-katsumasa.com/photo/ をご紹介しておきます。

上記の中から、任意の画像を指定するとなると工夫が必要になりそうです。

例えば、スライダーで利用する画像は、各エントリーのメイン画像を1枚持ってくるということであれば、Entry_Summary を利用するようなことで画像を絞り込むことができそうです。さらにエントリーのカスタムフィールドで、そのエントリーをギャラリーに使うかをチェックボックスで指定などもできそうです。
それ以外の方法になると、画像ユニットの何かを利用してスライダーに出すことを指示することになると思います。

あとは、画像ユニットではなく、メディアユニットを利用してギャラリーを作り、メディアとしてアップされているので、Media_Banner モジュールでアップされているメディア画像を指定して持ってくる事を手動で行うというのも1つの方法ではないでしょうか。

2022年8月25日木曜日 14:20:59 UTC+9 honda:

鈴木孝明

unread,
Aug 26, 2022, 8:29:43 PM8/26/22
to a-blog cms forum

お世話になります。ルーコの鈴木と申します。

Unit_ListのモジュールIDを使って、ギャラリーを作成したことがあるので
橫から失礼いたします。

>実績、状況それぞれから任意の画像を指定して
>トップページのスライダー画像として呼び出す

上記は、ユニット内のカスタムフィールドと、IFブロックを組み合わせると
要件に近い実装ができるかもしれません。

まず
Unit_Listは、条件に合致するユニットを表示してくれます。
下記の指定をすれば、ひとまず全ての写真は表示してくれます。

・エントリーの条件:実績、状況の2エントリーであること
・ユニットの条件:画像ユニットかメディアユニットであること

条件はカテゴリー指定も可能なので、特定カテゴリー内の複数エントリーから
画像を表示可能です。
これでギャラリー機能は作れそうです。
(サーバーによっては、1エントリーで画像ユニットを使える上限に達する可能性があるので、複数エントリーでも運用できるようにしておくと将来的に安心かもしれません。)


次に
ギャラリーに表示する画像の中で、指定した画像だけをスライダー画像として
利用する場合です。
ここでユニットのフィールドを使って、条件指定をします。
たとえば、ユニットの「キャプション」欄に「slider-on」という記述を
含むユニットだけを表示する、とします。

そしてUnit_List内のテンプレートに下記の記述をします。
<!-- BEGIN_IF [{unit_field_2}/eq/slider-on] -->
%{MEDIA_ARCHIVES_DIR}{normal}
<!-- END_IF -->

UIとして不格好ではあるものの、ひとまずこれで
ギャラリーの全画像の中から指定した画像だけを、抽出できそうです。
(エントリーの変更画面にて、ユニットのフィールドからスライダー画像を指定する方法)

キャプション以外にもフィールドを指定できるので、

・特定の「サイズ」ならスライダー画像として利用する
・メイン画像として設定した画像のみをスライダー画像として利用する
・「代替テキスト」に特定の文字列を含む画像のみをスライダー画像として利用する

・・・など条件付けできます。
※このあたりは運用次第


また
専用のカスタムユニットを作成すれば、ちゃんと
「スライダー画像として表示する」
といったチェックボックスを付けて運用することもできます。
更新ユーザーさんの属性によっては、これが一番丁寧かもしれません。


ただし
IFブロックを使う都合上、もしもユニットの数が4桁になってくると
パフォーマンス的によろしくない影響が出るかもしれません。

なにか参考にされば幸いです。

2022年8月25日木曜日 14:20:59 UTC+9 honda:
いつもお世話になっております。
Reply all
Reply to author
Forward
0 new messages