#freeze
#navi2(shaのPukiWiki実験ページ,top,prev,next,end,toc)
*vote2の実験 [#q6bb8024]
:詳細説明のページ|
「[[pukiwiki:自作プラグイン/vote2.inc.php]]」
:ダウンロード|
「&attachref(vote2.inc.php.12);」
-Pukiwiki-1.4.7動作確認済み。


-もう一つの実験ページ「[[vote2の実験2]]」
-''tracker.inc.php''と組み合わせてみた例→「[[''#tracker''との連携>vote2.inc.php#c92b79c2]]」
--%%''#tracker_list''で表示された投票ボタンも押せるが投票はできない。ページ名とvote2番号を指定して、別のページからでも投票できる仕組みが必要のようだ。%%←対応済み。
----
#contents
*使用例 [#nd57cd4e]
-インライン型もあるよ。
-引数に''notimestamp''をつけると、ページのタイムスタンプを更新しない。
**インライン型 [#t7c78c3f]
 -&vote2(ごーや,notimestamp); / &vote2(オレンジ[1],notimestamp); / &vote2(愛媛みかん[1],notimestamp);
 -&vote2(ららる); / &vote2(ケミカル[1]); / &vote2(ケミ子);
#areaedit
-&vote2(ごーや[3486],notimestamp); / &vote2(オレンジ[3826],notimestamp); / &vote2(愛媛みかん[379],notimestamp); ←タイムスタンプを更新しない
-&vote2(ららる[172]); / &vote2(ケミカル[169]); / &vote2(ケミ子[364]); ←タイムスタンプを更新する
#areaedit(end)
----
 |COLOR(red):|COLOR(red):|COLOR(red):|COLOR(red):|c
 |>|>|>|CENTER:どう思いますか?|h
 |~おかめ納豆|&vote2(すばらしい[3]);|&vote2(まあまあ[2]);|&vote2(そうでもない[3]);|
 |~小粒納豆|&vote2(すばらしい[8]);|&vote2(まあまあ[1]);|&vote2(そうでもない);|
#areaedit
|COLOR(red):|COLOR(red):|COLOR(red):|COLOR(red):|c
|>|>|>|CENTER:どう思いますか?|h
|~おかめ納豆|&vote2(すばらしい[359]);|&vote2(まあまあ[145]);|&vote2(そうでもない[136]);|
|~おかめ納豆|&vote2(すばらしい[360]);|&vote2(まあまあ[145]);|&vote2(そうでもない[136]);|
|~小粒納豆|&vote2(すばらしい[137]); |&vote2(まあまあ[112]); |&vote2(そうでもない[1536]); |
#areaedit(end)
**ブロック型。タイムスタンプを変更しない。 [#ke1fc4f7]
 #vote2(はい[8],いいえ[4],notimestamp)
 #vote2(めざし[2],あゆ[1],まぐろ[2])
#areaedit
-タイムスタンプを変更しない
#vote2(はい[325],いいえ[84],notimestamp)
-タイムスタンプを変更する。従来の#voteと同じ。
#vote2(めざし[189],あゆ[33],まぐろ[57])

#vote2(test01[67],test02[31],test03[31])
#areaedit(end)
**遠隔投票。ページと番号指定 [#s81fd1fe]
***インライン型の遠隔投票 [#n572ca4c]
#areaedit
 -&vote2(this=2i,このページのインライン型2番に投票,nonumber);
 -&vote2(this=5r,このページのインライン型5つ後に投票,nonumber);←得票表示のみの「おい」
 -&vote2(vote2.inc.php=14i,このページのインライン型14番に投票);
-&vote2(this=2i,このページのインライン型2番に投票,nonumber);←「愛媛みかん」
-&vote2(this=5r,このページのインライン型5つ後に投票,nonumber);←得票表示のみの「おい」
-&vote2(このページのインライン型14番に投票[54],vote2.inc.php=14i); ←実は、これ自身のこと。

 -このページのブロック型0番目「はい」に投票→&vote2(this=0b,はい,nonumber);
 -このページのブロック型1番目「まぐろ」に投票→&vote2(this=1b,まぐろ,nonumber);
 -このページのブロック型4番の「はい」に投票→「&vote2(this=4b,はい,nonumber);」←得票表示のみの「はい」
-このページのブロック型0番目「はい」に投票→&vote2(this=0b,はい,nonumber);
-このページのブロック型1番目「まぐろ」に投票→&vote2(this=1b,まぐろ,nonumber);
-このページのブロック型4番の「はい」に投票→「&vote2(はい[1],this=4b,nonumber);」←得票表示のみの「はい」
#areaedit(end)
***ブロック型の遠隔投票。 [#c5760c2f]
#areaedit
 #vote2(this=1b,めざし,あゆ,まぐろ,nonumber)
 #vote2(this=+1r,はい,いいえ,nonumber)
-ブロック型第1番目に遠隔投票
#vote2(this=1b,めざし,あゆ,まぐろ,nonumber)
-ブロック型の1つ後に遠隔投票(表示のみのもの)
#vote2(this=+1r,はい[26],いいえ[0],nonumber)
//#vote2(vote2.inc.php=-0r,はい[1],いいえ[0])
#areaedit(end)
**得票表示のみ。 [#o0770d15]
#areaedit
-得票表示のみだが、遠隔投票を受けつけることが出来る。
 #vote2(はい[1],いいえ[2],nolabel)
#vote2(はい[45],いいえ[12],nolabel)
 -&vote2(おい[123],nolabel);
-得票表示の「おい」、得点表示のみ→&vote2(おい[166],nolabel);
#areaedit(end)
*更新相手がいない投票 [#cca9a130]
#areaedit
-遠隔投票で、投票相手はあるけれども、項目が合致しない場合(ブロック型)。
 #vote2(vote2.inc.php=0b,どこも更新できない,nonumber)
#vote2(vote2.inc.php=0b,どこも更新できない,nonumber)
-遠隔投票で、投票相手が見つからない場合。
 -&vote2(vote2.inc.php=100i,どこも更新できない,nonumber);
-&vote2(vote2.inc.php=100i,どこも更新できない,nonumber);
#areaedit(end)

*インライン型をテーブル内に書いて数字を右寄せ [#f12c230b]
#areaedit
 |CENTER:|RIGHT:|c
 |項目|カウンター|h
 |&vote2(赤信号,this=1r,nonumber);|&vote2([123],nolabel);|
 |&vote2(黄信号,this=1r,nonumber);|&vote2([12],nolabel);|
 |&vote2(青信号,this=1r,nonumber);|&vote2([1],nolabel);|

|CENTER:|RIGHT:|c
|項目|カウンター|h
|&vote2(赤信号,this=1r,nonumber);|&vote2([218],nolabel);|
|&vote2(黄信号,this=1r,nonumber);|&vote2([44],nolabel);|
|&vote2(青信号,this=1r,nonumber);|&vote2([49],nolabel);|
#areaedit(end)
#areaedit(end)
*#trackerとの連携 [#c92b79c2]
-各ページに「投票」を置いて、そこで投票できると共に、#tracker_listで投票部分を
リストアップすることもできる。
-#tracker_listから投票することもできる。
-設定のポイントは、投票ボタンと得票表示を分離したこと。
--設定ファイル「[[:config/plugin/tracker/実験vote2]]」~
 |vote|得票表示|hidden||&vote2(投票,notimestamp,nolabel);|
--設定ファイル「[[:config/plugin/tracker/実験vote2/form]]」
 [vote]と、どっかに書いておく。どうせhiddenなので大丈夫だが、必須。
--設定ファイル「[[:config/plugin/tracker/実験vote2/list]]」
 |投票ボタン表示|得票数表示|
 |&vote2([_page]=0i,投票,nonumber);|[vote]|
--設定ファイル「[[:config/plugin/tracker/実験vote2/page]]」~
 投票表示: [vote]
 投票ボタン:&vote2([_page]=0i,投票,nonumber);
----
-【実施例】
#tracker(実験vote2)

-さっき気づいたけど、なんと投票の得票数でソートが出来るんですね。すばらしい。~
あ、でも「''&vote2(notimestamp,nolabel,投票[11]);''」という文字列でソートされるので、文字順ソートにしかならないですね。数字部分だけ取り出して、数字順でソートしてくれればいいのですが。

#tracker_list(実験vote2)

#areaedit
* vote2のテスト [#c1062ccc]

 &vote2;←無効だが安全。引数なし
&vote2([17]);/&vote2([72]);/&vote2([31]);→有効に変更。遠隔受付可。
 &vote2();←無効だが安全。引数は空文字列
&vote2([17]);/&vote2([42]);/&vote2([11]);→有効に変更。遠隔受付可。
 &vote2( );←これは有効。引数に半角空白が入っている。
&vote2([15]);/&vote2([45]);/&vote2([16]);
 &vote2(test){};←禁止&危険。bodyの中括弧がある。投票場所を間違える可能性がある。
&vote2(testa[21]);/&vote2(testb[26]);/&vote2(testc[23]);→安全&有効に変更。bodyは自動削除。

-27=&vote2(this=27,遠隔);
-30=&vote2(this=30,遠隔);
-33=&vote2(this=33,遠隔);
#areaedit(end)
|&vote2(a&br;b&br;[32],this=0r);|&vote2(c&br;d&br;[19],this=0r);||


----
#deletepages

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS