メタタグの設定方法
多くの場合、メタタグが記述されるheadタグは、モジュールテンプレートに切り離して各テンプレートから読み込まれるように設計されます。
この場合のtitleタグの設定方法の一例をご説明します。
まず、共通のヘッダーテンプレートには以下のように記述しておきます。
1 2 3 4 5 |
{% if title == 'top' %} <title>{% if language == "jp" %}東京良品 {% elseif language == "cn" %}东京良品 {% elseif language == "en" %}TOKYO Quality Products {% endif %} - {{ system_config("application_description") }}</title> {% else %} <title>{{ title | striptags }} | {% if language == "jp" %}東京良品 {% elseif language == "cn" %}东京良品 {% elseif language == "cn" %}TOKYO Quality Products {% endif %}</title> {% endif %} |
変数:titleは、各テンプレートで設定してここで受け取るイメージです。
トップページからは’top’が渡ってきます。
そして、ユーザーの設定言語によって出し分けています。
system_config(“application_description”)は左メニューの「設定 -> システム設定 -> アプリケーション説明」を取得する関数です。
日本語での上記コードの出力例は
東京良品 – 東京の人気お土産通販サイト
となります。
続いて各テンプレートからtitleの渡し方です。
例えばカートページですと単純に「カートの中身」という文字列を渡します。
その場合は
{% set title = ‘カートの中身’ %}
と記述します。
ちなみにユーザーの言語に合わせる必要がありますので、{% if language == “cn” %}{% set title = ‘购物车中’ %}のように条件分岐で出し分ける必要があります。
次に商品詳細ページのように、商品ごとにtitleを変える場合です。
{% set product_name = product.attribute(‘商品名(日本語)’) %}
のように、テンプレートに記述するときのタグをそのまま変数:title渡します。
他にも、例えば拡張フィールド名を商品名_jp、商品名_enのようにしておき、languageと組み合わせることで以下のような記述方法でも実現可能です。
{% set product_name = product.attribute(‘商品名_’ ~ language) %}
様々な方法がありますので、試してみて下さい。
ちなみにdescriptionやkeywords、ogpなども同様の手順で実現可能です。