logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
23/08/2019, by mikhail

Drupal に興味があるなら、遅かれ早かれ Views モジュールにたどり着きます。このモジュールを使うと、Drupal にあるほぼすべてのもの――ユーザー、コンテンツ、コメント、タクソノミー――を表示できます。さらに、テーブル、ブロック、スライダー、カレンダー、リスト、グラフ、その他のタイプのデータやデザインを表示できます。このモジュールはバージョン 8 以降、Drupal のコアに導入されました。それでは、このモジュールを見てみましょう。

最初に注目すべきはモジュールのサイズです。Views、Views UI モジュールはそれぞれ 808 KB と 3.6 MB を占めます。まさに巨大なモジュールですが、それを使うために動作の仕組みを知る必要はありません。Views にはかなり大きなインターフェースがあり、望めばプログラミングの知識なしで理解できます。

Drupal のメニューでは、Views は Structure — Views にあります:

drupal 8 views

ご覧のとおり、Views はメインページ、新しいコメント、最近サイトを訪れたユーザー、その他多くのリストを表示します。

フロントページの Views に移動しましょう。そのために、Frontpage view の行の Edit ボタンをクリックします。

drupal 8 views

以下では、各ブロックの説明と、このブロックを説明する対応する記事へのリンクを提供します。

まず、Views が何を表示するかに注目する必要があります:

drupal 8 views

このビューでは、コンテンツ、つまり私たちのサイトのノードを表示します。これにはタクソノミー、コメント、ユーザーなどが含まれ得ます。この設定はビューの作成時に設定でき、その後は変更できません。ビューを再作成するだけです。したがって、ビューを作成するときは、何を出力するつもりかを知っておくべきです。

さらに、管理用タイトル Display の名前を設定できます。これはビュー内、そしてこのビューが表示され得るあらゆる場所に表示されます。そしてタイトルの下には、サイト、ページ、ブロックに直接表示されるものが表示されます。

drupal 8

下にはブロック形式があります。Views は他のモジュールで拡張でき、それにより情報を表示する能力を拡張できます。例えば、Views Slideshow モジュールをインストールすると、スライダーを表示できます:

https://www.drupal.org/project/views_slideshow

Calendar モジュールを追加すると、カレンダーが表示されます:

https://www.drupal.org/project/calendar

同様のモジュールが多くあります。google 検索で Drupal views(表示したいものの名前)と入力すれば、必要なものを簡単に見つけられます

デフォルトでは、ブロック(Unformatted list)、HTML list(タグ <ul>、<li>)、Grid(見出しのないテーブル)、Table(見出し付きでソート可能)で出力できます。

Show 設定では、ビューでデータをフィールドで表示するか、ティーザーやエンティティ全体を表示して完全に表示するかを設定できます。ティーザーを使うのはかなり便利です。ティーザーでの商品の標準的な表示タイプ――画像、名前、価格、buy ボタン――があるとします。この商品タイプを多くのブロックで表示する必要があります:カテゴリー、類似商品、おすすめ商品、カート。CSS コードを重複させたくない場合は、ティーザーの出力を一度スタイリングして、このティーザーを他のビューに挿入するだけです。

Fields

fields では、ノードからフィールド、例えばタイトルとコンテンツを選択できます。フィールドの出力を処理したり、ここでグループ化したりできます。

Filter criteria

fields では、ノードからフィールド、例えばタイトルとコンテンツを選択できます。フィールドの出力を処理したり、ここでグループ化したりできます。

Sort criteria

必要なデータをフィルタリングした後、それらをソートするのも良いでしょう。例えば、新しいニュースを上から表示します。

Page Settings

ここでは、ビューページが表示されるパスを構成し、例えば認証済みユーザーだけがこのビューにアクセスできるようにアクセスを構成できます。

Header と Footer

ビューの上部または下部にデータを表示できます。さらに、単純な HTML に限らず、ビューからフィールドを挿入したり、私たちのビューに別のビューを挿入したりすることもできます。

No results behavior(結果がないときの動作)

このブロックの機能は Header と同じですが、ここではビューが出力するデータを受け取らないときに機能します。

Pager

リストが非常に大きく、それらを断片に分ける必要があるときにページャーが必要です。例えば、100 件のニュースがあるが、1 ページに 10 件表示したいとき。

Language

ビューの言語を選択できます。これは通常、多言語サイトで使われます。

Advanced

ここから、理解にはより深い理解が必要なブロックが始まります。

drupal 8 extended

Contextual Filters

コンテキストフィルターを使うと、ページの URL に基づいてデータを表示できます。例えば、node/10 の場合、これらのフィルターは id 10 のノードのデータを表示します。このフィルターをユーザーで動作するように構成すると、そのユーザーが作成したノードがユーザーアカウントページに表示されます。

Relationships

リレーションシップは強力なツールで、関連するエンティティを表示できます。例えば、ノードとそれらへのコメント、カテゴリーとそれらのカテゴリーが選択されているノード、ユーザーとその人が作成したコンテンツ。

Exposed form

これらは Exposed として選択されたフィルターの設定で、ユーザー検索のためにビューフィルターを動的に変更できます。

Other settings

Machine name。読みやすさのために、page_3、page_4 の代わりに変更できます。

Administrative comment - このビューへのメモに役立ち、サイト管理者に表示されます。

Use Ajax。ビューの Ajax はページャーで機能します。つまり、10 件のニュースが表示されていて、ページャーをクリックして 2 番目の 10 件のニュースを表示すると、ページを再読み込みせずに読み込まれます。

Hide attachments in summary。この設定を使うと、添付された summary を隠せます。そこには別のビューを表示できます。例えば、これは用語集で使われ、上部に文字のリストが表示され、下部にそれらの文字のコンテンツが表示されます。

Contextual links。ビュー編集への素早い移動に必要です。

Use aggregation。ビューが表示する行数を数えるために使われます。例えば、サイトの各セクションのノード数を計算できます。

Query settings。リレーションを使うと、出力時にレコードが重複することがあります。この場合、この設定に入り、ビューに Distinct を設定できます。

Caching。ビューはかなり重いので、めったに更新されないビューはキャッシュするほうが良いです。

CSS class より便利なビューのテーマ作成のために、カスタムクラスを指定できます。