複数のページ系コンテンツのIDを配列で渡して、それらのデータを取得するには content_by_ids 関数が有用ですが、困ったことにこの関数の返り値は渡したIDの配列の順ではなく、コンテンツID順になっています(つまり順番を勝手に変えられる)。
これを解決するのに幾つかアプローチは考えられますが、1番シンプルなのは次のコードです。
{# content_by_idsでデータを取得する #} {%- set pages = content_by_ids(module.page) -%} {# まず元の配列でループを回す #} {%- for page_id in module.page -%} {# content_by_idsのデータで入れ子でループを回す #} {%- for page in pages -%} {%- if page_id == page.id -%} {{ page.name }} {%- endif -%} {%- endfor -%} {%- endfor -%}