shopify

includeを使うとLiquid errorになったからrenderに置き換えたら何も表示されなくなった時にした事 in Shopify

shopify logo

ShopifyでLiquidのコードが長くなったので一部のコードをsnippetsへ移動したらpagenationを読み込むのにincludeを使っていた箇所がサイト上でエラーメッセージを表示するようになってしまった。

“Liquid error (snippets/xxx line 18): include usage is not allowed in this context”

VS code上ではincludeの代わりにrenderを使うように書かれていたので(Use the ‘render’ tag instead of ‘include’)、renderに変えたところエラーは消えたが何も表示されなくなってしまった。

どうやらアップデート時に残っていた古いコードだったようで、新しいコードを既存テンプレートから見つけ出しそのコードに置き換えたら無事に表示されるようになった。

どうやら引数が足りなかったらしい。

<!-- 古いコード -->
{% if paginate.pages > 1 %}
  {% include 'pagination' %}
{% endif %}

<!-- 新しいコード -->
{%- if paginate.pages > 1 -%}
  {%- render 'pagination', paginate: paginate -%}
{%- endif -%}

見た目が微妙に変わってしまって?CSSを修正することになったが、とりあえず解決できて助かった。

COMMENT

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