switchcontents.inc.php

サマリ表示コンテンツ切り替えプラグイン
リビジョン0.9
対応バージョン1.4.7
投稿者jidaikobo
投稿日2007-02-11 (日) 17:42:03

このプラグインは?

こんな言語切り替えはどうかなと思って作ってみました。言語切り替え以外にもコメントだけ分けるとかもできると思います。ご意見いただけると幸いです。書式は下記の通りです。

#switchcontents(属性値){{
コンテンツをここに書く
}}

関連

インストールの仕方

v 0.9 からは厳密には PukiWiki のプラグインの仕様に則っていません。skin ファイルを直に編集します。 skin ファイルの冒頭箇所*1に下記スクリプト片を貼付けます。

include_once( PLUGIN_DIR . 'switchcontents.inc.php' ) ;
list( $title,$page,$body,$swc_ctrl ) = switchcontents( $title,$page,$body ) ;
$body = $swc_ctrl . $body ;

すると、コンテンツ内に switchcontents プラグインがあると、処理をするようになります。 $swc_ctrl には、スイッチ用のコントロールが入っているので、上記スクリプト片の、三行目をコメントアウトして、$swc_ctrl をたとえばメニュー部分などにおくこともできると思います。

include_once( PLUGIN_DIR . 'switchcontents.inc.php' ) ;
list( $title,$page,$body,$swc_ctrl ) = switchcontents( $title,$page,$body ) ;
//$body = $swc_ctrl . $body ;

属性値(0.8までの属性値と異なっています)

switch=''

ここにコンテンツの切り替え用の名称を入れます。たとえば english などです。

title=''

切り替えられるコンテンツのタイトルです。要注意なのは、コンテンツを切り替えた状態で「編集」しようとすると、新規ページになることです。

文例

*テストページ
これはテストページ

#switchcontents(switch='english',title='Test page'){{
*Test page
this is Test page.
}}

0.9 での実験

#switchcontents(switch='english',title='Test page'){{
*Test page
this is Test page.
[[targetpage]]. <- このリンクは targetpage 中の english コンテンツを目指します。
}}

目標ページに目標スイッチがなくても無視されるだけです。 なお、目標ページに目標スイッチがあるけど、リンク時は別のスイッチ、あるいはオリジナルにリンクしたいときは、下記のようにそれを明示しないといけません。

#switchcontents(switch='english',title='Test page'){{
*Test page
this is Test page.
[[targetpage:http://example.com/index.php?cmd=read&page=targetpage]].
}}

ダウンロード

UTF-8 版のみです。EUC には各自変換してお使いください。

おねがい

いちおう勉強してセキュリティにも配慮しているつもりですが、穴などあったら教えてもらえると幸いです。

ライセンス

履歴

2007年2月11日人柱版公開ver 0.8
2007年2月23日Safari では、location 先を $script まで明示せずにクエリストリングスから書くときちんとリダイレクトしてくれなかったので修正。ver 0.8.1
2007年2月27日編集 → プレビュー時にもリダイレクトが発生してしまって、プレビューできなかったのを修正。ver 0.8.2
2007年9月16日いろいろ改造ver 0.9.0

コメント


*1 どこでもいいですが、悩むなら10行目あたりでもいいです

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.233 sec.

SourceForge