HUGO

{{ if eq . "" }}を使用したメニューの条件分岐

現在
~.com
~.com/en
上記のようにパーマリンクを分けて、2カ国対応のWebサイトを作成してあります。各言語のページは全て作成してあるのですが、メニューとフッターの部分だけ日本語のままで、~.com/en/から始まる時だけ英語のメニューを表示したいと考えています。
(~.com/en/hugo などにアクセスの場合も、英語のメニューを表示させたいです)

簡単な方法はあるとは思いますが、現在メニューやフッターはHTMLで直に記述している為、{{ if eq . “” }などを使用してできれば対応したいです。

上記の場合の記述方法を教えていただければ幸いです。
よろしくお願いいたします。

セクションとして言語を管理しているという前提で合ってますか?

例えば https://peaceiris.com/en/ の時だけ処理したい場合は次のようにできると思います。

{{ if eq .Section "en" }}
  <!-- /en の時だけ表示させる。 -->
{{ end }}

{{ print .Section }} の実行結果は以下のようになります。

  • https://peaceiris.com/en/ の時 en
  • https://peaceiris.com/en/hugo の時も en

簡単な方法はあるとは思いますが

Hugo には多言語管理機能があるのでこれを使うと便利です。

1 Like

セクションで管理しています!前回は、ご回答ありがとうございました。

ありがとうございます。これでできそうです。

{{ if eq .Section “en” }} の時とは、何が違うのでしょうか?

やはりこのやり方の方が楽ですよね。

.Section の振る舞いを説明したかっただけです。あと print がデバッグに役立ちます。

1 Like

もし、このスレッドの質問が解決した場合は 解決済み にしていただけると助かります。(前回のトピックもそうですね。)

また、何かあれば新しくスレッドを立ててください。

1 Like

理解しました!
printについても勉強になりました。

おかげさまで、前回同様スムーズに解決ができました。
私の勉強不足なのですが、本当に感謝しています。

ありがとうございました!

1 Like

解決済みはどこからすれば良いでしょうか?

こんな感じでチェックマークがありませんか?

1 Like

ありました!
やっときます。

1 Like