多言語サイトのTOPページに固有URLを設定する

提供: Geeklog Japan
移動先: 案内検索

多言語サイトのTOPページも、各言語別に異なるURLを設置することが推奨されています。


言語別TOPページを別URLで用意する[編集]

Geeklogでは、それぞれの言語のTOPページURLを、話題を作成して話題TOPを言語のTOPとします。


話題を作成する

  • home_(言語ID)

  • home_ja
  • home_en

言語TOPをテーマに記述する方法[編集]

header.thtml では、TOPページへのリンクを次のように記述します。

<a class="uk-navbar-item uk-logo" href="{site_url}/index.php/topic/home_<?php echo COM_getLanguageId(); ?>">{site_name}</a>

多言語切り替えリンクを記述する方法[編集]

言語切り替えへのリンクは次のように記述します。(UIkitを活用したスタイル)

<ul class="uk-subnav uk-subnav-line uk-flex-center">
<li><a href="{site_url}/switchlang.php/ja"  class="<?php if(!strcmp($_CONF['language'],"japanese_utf-8")){ ?>uk-text-primary<?php } ?>">日本語</a></li>
<li><a href="{site_url}/switchlang.php/en"  class="<?php if(!strcmp($_CONF['language'],"english_utf-8")){ ?>uk-text-primary<?php } ?>">English</a></li>
</ul>

言語TOPとサブページとで記述を切り替える方法[編集]

TOPページかどうかの判断は次のようになります。TOPページにのみスライダー等を記述したいケースで活用します。

<?php $url_current = COM_getCurrentURL(); if( COM_onFrontpage() || strpos( $url_current, '/index.php/topic/home_' ) !== false ){ ?>
TOPページのHTMLを記述
<?php } else { ?>
サブページのHTMLを記述
<?php } ?>

言語別にTOPページ_top_ja等を用意している場合[編集]

<?php $url_current = COM_getCurrentURL(); if( COM_onFrontpage() || strpos( $url_current, '/index.php/topic/home_' ) !== false ){ 
echo PLG_replaceTags('[staticpage_content:staticpage_content:_top_'.COM_getLanguageId().']');
} ?>