個人サイトなどで「Web拍手」と書かれた小さなボタンを見かけられたことはあるでしょうか? 前者はWeb拍手公式サイトやWhat's "PatiPati"?などで公開されている無料サービスが有名です。これはweb拍手って何?にも書かれている通り、小さいながらもリーダーの反応があることでサイト運営へのヤル気が出るということに大きな意味があります。
また、企業ページや技術文書などの文末に「役に立ちましたか?」という設問に対して「はい」または「いいえ」を回答するような簡単なアンケートが設けられたものがあります。これにはサイト内文書の中で人気のあるページを集計し、コンテンツ改善や今後のサイト企画立案のためのマーケティングデータとして活用するなどの使途があるようです。何れにせよ、リーダーが気軽にクリックできるという点が重要で、そしてそれはサイト運営者のヤル気の元であったり、次の企画のための貴重なマーケティングデータとなるわけです。
これら両者の機能を MovableType と組み合わせて使えないだろうか、という発想のもと、今回、MovableType のエントリに簡単なページ評価アンケートを組み込めるプラグインを作ってみました。 簡単な選択項目を設定し、また任意で簡単な一行コメントを入力することができます。また、どの記事に対してどんな評価がされたのか、送信されたデータはエントリ毎に集計されるようになっています。
このプラグインでも ディープリンク防止機構を実現する MovableType プラグイン と同じ手法で PHP スクリプトを埋め込みます。 最近、"プラグイン"と名乗ることに違和感が…
早速、このサイトにもページ評価アンケートを設置してみました。 各エントリページの一番下に置いてあります。 どうかヨロシクm(_ _)m
type
オプションも参照してください。
path="/home/your/account/data/rating"
、name="hogehoge"
の場合、
type による指定により以下の動作を行います。
"/home/your/account/data/rating/hogehoge.log"
に追記します。
このファイルが存在しない場合、何もしません。
"/home/your/account/data/rating/hogehoge/YYYYMM.log"
に集計します(YYYY は西暦 4 桁、MM は月 2 桁)。
"/home/your/account/data/rating/hogehoge"
ディレクトリが存在しない場合、何もしません。
"/home/your/account/data/rating/hogehoge/YYYYMMDD.log"
に集計します(YYYY は西暦 4 桁、MM は月 2 桁、DD は日 2 桁)。"/home/your/account/data/rating/hogehoge"
ディレクトリが存在しない場合、何もしません。
form
タグを生成します。
id、class、style オプションを指定することでタグに値を渡すことができます。
<input type="radio">
タグを生成します。
id、class、style、tabindex、accesskey オプションを指定することでタグに値を渡すことができます。
checked
オプションが付加されます。
<input type="text">
タグを生成します。
id、class、style、value、tabindex、accesskey、size オプションを指定することでタグに値を渡すことができます。
<input type="submit">
タグを生成します。
id、class、style、value、tabindex、accesskey オプションを指定することでタグに値を渡すことができます。
<MTUsePageRating path="/home/your/account/data/rating" name="hogehoge" type="0"> <MTPageRatingDone> <!-- このコンテナタグ内部はアンケート回答後に表示されます--> アンケートへのご協力ありがとうございました。<br /> 回答頂いた内容は今後の企画立案の基礎データとして役立たせていただきます。 </MTPageRatingDone> <MTPageRating class="yourClass"> <!-- このコンテナタグ内部はアンケートに未回答の場合に表示されます --> <h3>この記事に対するあなたの評価をお聞かせください</h3> <!-- アンケートの選択肢を作成しています --> <MTPageRatingItem value="1">ダメ <MTPageRatingItem value="2">いまいち <MTPageRatingItem value="3">普通 <MTPageRatingItem value="4">良い <MTPageRatingItem value="5">とても良い <!-- default オプションで規定の選択肢を作成しています --> <MTPageRatingItem value="0" default="1">とりあえず拍手 <!-- アンケートへの回答ボタンです --> <MTPageRatingSubmit value="送信"> </MTPageRating>
path="/home/your/account/data/rating"
、name="hogehoge"
の場合、type による指定により作業が異なります。
ダウンロード / MD5 | バージョン | 日付 | サイズ(Bytes) | 動作環境 | 備考 |
---|---|---|---|---|---|
MTPageRating GetMD5Hash('MTPageRating010.zip');?> | 0.10 | '05/08/23 | GetFileSize('MTPageRating010.zip');?> | MovableType | 3.151-ja で動作確認 |
寄せられたコメント (全 15 件中、最新 5 件まで表示しています)
このプラグインはphp化しないと利用できませんか?
htmlでやると表示されましたが送信でMethod Not Allowedとエラー表示されます
解決方法が教えていただけると助かります
Perl 5.8.4 です。
MTはUnicodeで使っています。
"w-"→"w"としてみたところ、再構築時に以下のエラーとなりました。
<MTUsePageRating>タグでエラーが発生しました: MTUsePageRating - 不正なパス指定
ちなみに、パスにはドット"."が入っています。
お気づきの点があれば、よろしくお願いいたします。
正規表現式が変だよーって言われているようですね。
お使いのPerlのバージョンは何でしょうか?
あと,"w-"→"w"として症状が変わるか見て頂けますか?
コメントアウトするのはちょっと危険です…
ぜひ活用させていただきたいと思います。
MT3.3に設置したのですが、以下のエラーが出て動きませんでした。
False [] range "w-" in regex; marked by <-- HERE in m/[^w- <-- HERE /]/ at /virtual/raizo/public_html/reponavi.jp/mt/plugins/MTPageRating.pl line 41.
とりあえず、該当行をコメントアウトして動かしてみます。