A-Zと0-9で順序付けられたサイトマップ/インデックスページの作成

私は、特定のセクション内のエントリのための索引のようなページのように作成されます。

私のコードは以下のように面倒なように思えますが、より簡単な方法ですか?

タイトルの最初の文字(0-9)として番号を持つエントリをどのように処理しますか?

     

A

     
    

B

     
    

C

     

ベストアンサー

これを行うには、グループフィルタを使用します。エントリをタイトルの最初の文字でグループ化するとします。

エントリを実際の配列として取得する

{% set allEntries = craft.entries.section('artists').order('title').find %}

それらを第1題の文字でグループ化する。 最初は文字列の最初の文字を返します。 upper は文字列を大文字に変換します。

{% set groupedEntries = allEntries|group('title|first|upper') %}

これでループすることができます:

{% for index, values in groupedEntries %}
  

{{index}}

  
{% endfor %}


この質問
をご覧ください。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です