navi2.inc.php †
サマリ | 目次の順に沿って前後ページへのリンクを出力する#navi2 |
---|
リビジョン | 0.5 |
---|
対応バージョン | 1.4rc3 |
---|
投稿者 | sha |
---|
投稿日 | |
---|
概要 †
- 目次ページに、ページ順に並べてを記述しておく。その順に従って「前へ」「次へ」でページへのリンクが出現する。
- 「dev:PHPカンファレンス」準備を受けて緊急作成。
説明 †
- 「PHPカンファレンス/スライド例「ページ間の移動」」を受けて作成。
- 存在しないページへのリンクは、リンクなし文字列で出力。
- 目次ページで、あるページをコメントアウト(//)すると、見かけ上そのページがなくなったかのように振舞う。目次では見えるようにしておくなら、番号付き箇条書きでない記述方法(ただの箇条書きとか)で記載しておけばよい。
- スタイルシート用のクラス名は、
リンクありが「navi2」、リンク無しが「navi2none」リンクの有無によらず「navi2」。ただし、ブロック型の<div>については、left|center|rightに応じて、「navi2left」「navi2center」「navi2right」が用意される。
- ここで実験しています→「sha:navi2.inc.php」
使用法 †
- 引数の仕様
#navi2([<目次>],[top[:<見出し>]],[prev[:<見出し>]],[next[:<見出し>]],
[end[:<見出し>]],[toc[:<見出し>]],[presen_on[:<見出し>]],
[presen_off[:<見出し>]],[left|center|right])
&navi2([<目次>|top|prev|next|end|toc|presen_on|presen_off]){<見出し>};
&navi2([<目次>|top|prev|next|end|toc|presen_on|presen_off]);
- 引数の意味
top: 最初のページへ行くリンクを表示
end: 最後のページへ行くリンクを表示
prev: 前のページへ行くリンクを表示
next: 次のページへ行くリンクを表示
toc: 目次のページへ行くリンクを表示
presen_on: プレゼンモードON(PHPで$vars['presentation']=='on')
(./?cmd=read&presentation=on&page=...)
presen_off: プレゼンモードOFF
<見出し>: リンクとして表示される文字列。省略時はデフォルト文字列。
<目次>: 目次ページ名。ここにページの順序を記載する。詳細は下記。
- <目次>ページの指定を省略すると目次がデフォルトで使用される。
- ブロック型の場合、引数に書いたものだけ、引数の順にメニュー表示される。
- ブロック型の場合、<目次>以外を全て省略すると、全てが表示される。
- <目次>ページの記載方法
*目次ページは、番号付き箇条書き(+,++,+++)部分がページとして採用される。
+[[<ページ名>]]
+[[<ページ名>]]
+[[<ページ名>]]
…
- 番号付き箇条書き部分をページとして採用。単純に出現順をページ順として扱う。
- 目次の各ページはBracketNameにしても、しなくてもよい。
- 番号付き箇条書きの深さは関係なし。
- スタイルシートへ記載。skin/default.ja.cssに下記項目を追加する。
/* navi2.inc.php */
div.navi2
{
text-align:center;
}
div.navi2center
{
text-align:center;
}
div.navi2left
{
float:left;
text-align:left;
}
div.navi2right
{
float:right;
text-align:right;
}
- ブロック型の引数(left|center|right)に対応している。
- (必要なら)skinを切り替える設定をする。skin/pukiwiki.skin.ja.php内。
<?php if ( $vars['presentation'] == 'on' ){ ?>
....<[実行]メニューを押した場合のskin>....
<?php }else{ ?>
....<通常のskin>....
<?php } ?>
使用例 †
- 各プレゼンページの先頭に下記を記載。(実際には改行しない)
&navi2(プレゼン/目次,top); / &navi2(プレゼン/目次,prev); / &navi2(プレゼン/目次,next); /
&navi2(プレゼン/目次,end); / &navi2(プレゼン/目次,toc);
- ブロック型
#navi2(プレゼン/目次,prev,next,toc)
【表示例】
[前へ] [次へ] [目次へ]
- 目次記載方法:「プレゼン/目次」ページに下記のように記載
*プレゼンの目次
+ページ1
+ページ2
++ページ3
- 例えば、BracketNameにしてもOK。リンク付き目次に出来る。
+[[ページ1]]
+[[ページ2]]
++[[ページ3]]
ダウンロード †
ここに添付しました。御利用下さい。
- 「&ref(): ERROR: File not found: "navi2.inc.php.5" at page "バックアップ/navi2.inc.php";」←提供中
リビジョン | 内容 | v0.5 | debug/&を&に | v0.4 | プレゼンモード対応。ブロック型のCSSにnavi2right,navi2left,navi2center | v0.3 | スタイルのクラスをnavi2に統一。ブロック型作成 | v0.2 | 目次をBracketNameに対応 | v0.1 | tooltip.inc.phpから新規作成。debug |
アンケート †
- このプラグインに満足しておりますか?
- 「いいえ」に投票した方に質問です。
どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。
コメント †
- 三浦克介?
作成、ありがとうございます。いくつか、要望です。
- CSSのクラス名は、CSSのセレクタで選択できますので、リンクの有無で分ける必要はないと思いますよ、っていうか、カスケードできなくなるので、同じの方が有り難いかも。
- 自由度は減りますが、naviプラグインのようにブロック型ものもあると、便利そうに思います。
- プレゼンテーションに特化した機能ですが、通常モードとプレゼンテーションモードを切り替えるためのリンクを追加できないでしょうか。具体例としては、"実行" というようなリンクを入れ、それをクリックすると、URI のクエリ部に "presentation=on" が入るようにしておきます。これが入るとプレゼンテーションモードになり、プレゼンテーション用CSSを読み込むように、スキンに細工をしておきます。初期の印刷用スキン のイメージです。プレゼンテーションモード時には、このモードが持続されるように、Prev や Next などのリンクにも、"presentation=on" を入れる必要があります。また、通常モードに戻す "停止" 等のリンクもあると良いかと思います。
- sha
navi2.inc.php.3にて、要望の(i.)(ii.)に対応しました。ご利用下さい。さて、要望(iii.)については、現在の仕様では、リンクは単にページを指定してるだけなので対応できません。plugin_navi2_action()を作成して、それを叩いてページを表示するような仕様へ変更する必要があります。もしかして、presen_onの時だけそうすればよいのかな?
- 三浦克介?
素早い対応、感謝です。(iii) の件、以下のような感じでできませんか? あまり汎用性はないので、PHPカンファレンス専用ということでも良いかと思います。
if($vars['presentation']=='on'){
return "<a haref=\"$script?cmd=read&presentation=on&page=$f_page\" class=\"navi2\">$title</a>";
}
else {
return "<a haref=\"$script?$f_page\" class=\"navi2\">$title</a>";
}
- 三浦克介?
↑"実行"、"停止" については、条件判定を逆にしないといけないです。あと、$title も条件に応じて、"実行" と "停止" を切り替えないといけないですね。
- sha
navi2.inc.php.4で対応しました。今のところ、切り替えでなくて、enable|disableになってます。簡単なdebugだけしてあります。
- 三浦克介?
ありがとうございます。いい感じです。
- sha
どういたしまして。お役に立ててよかったです。
- 三浦克介?
href 中で & とすべき所が & になっていて、HTML validator でエラーが出ます。
##comment
|