ようこそ! Geeklog Japan, Anonymous 2024/04/24 15:30 JST

言語を指定してカレントURLを取得するPHP自動タグ currenturlを開発

  • 2018/03/14 04:20 JST
  • 投稿者:
  • 表示回数 14,371
Geeklog

言語を指定してカレント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;
}