言語を指定してカレントURLを取得するPHP自動タグ currenturlを開発
- 2018/03/14 04:20 JST
- 投稿者: Ivy
- 表示回数 14,810
言語を指定してカレントURLを取得するPHP自動タグ currenturlをhiroronさんによって開発されました。
この開発により、言語を指定して、カレントURLを取得できます。
書式 [currenturl:(言語ID) topicid:home]
多言語サイトの場合の、それぞれの言語のTOPを話題TOPにします。topicidは、そのidです。
topicid:homeの場合、
日本語TOP: http://yourdomain/index.php/topic/home_ja
英語TOP: http://yourdomain/index.php/topic/home_en
※あらかじめ話題 home_ja home_enなど、言語に対応する話題を作成しておいてください。
download:
https://github.com/ivywe/geeklog-ivywe
system/lib-custom.php 変更
system/phpautotags_currenturl.php 追加
活用方法:
Autotag plugin管理画面で、PHP関数 currenturl を登録
[medialist:28]
注意: 過去のバージョンで、PHP自動タグ管理画面で、置換文字列のtextareaを必須にしていた不具合がありました。 最新のバージョン plugins/autotag/template/admin/ を差し替えてください。
多言語切り替えで活用:
switchlang.phpでは確実に言語が切り替わらないケースがありましたが、 langsel プラグインを活用するとformでの切り替えとなり、確実に切り替えることができます。 その際、遷移先のURLを指定することができるようになりました。
多言語切り替えメニュー
<ul class="gl-button">
<li class="uk-margin-top">
<form action="{site_url}/langsel/index.php" method="post" class="uk-margin-left uk-text-primary">
<input type="hidden" name="target" value="{!!autotag currenturl:ja topicid:home !!}">
<button type="submit" name="langsel" value="japanese_utf-8">日本語</button>
</form>
</li>
<li>
<form action="{site_url}/langsel/index.php" method="post" class="uk-margin-left uk-text-primary">
<input type="hidden" name="target" value="{!!autotag currenturl:en topicid:home !!}">
<button type="submit" name="langsel" value="english_utf-8">English</button>
</form>
</li>
</ul>
formのスタイルはcssで消しておくと見栄えがよくなります。
ul.gl-button li button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}