target="_blank">QuickSurvey
の後は、Quick Poll (簡易アンケート) を使ってみましょう。
This how-to will help the beginners to create quick and short (just one question) surveys.
この HowTo? は、簡単なアンケート(質問は1問だけ)を、初心者でも作れるように説明します。
It looks like target="_blank">HostTracker.
見た目は、HostTracker に似ています。
First you will need to install target="_blank">TinyTablePlus
and Zope 2.3.x
まず、target="_blank">TinyTablePlus
と Zope 2.3.x をインストールします。
(Zope 2.3.x is much better because I like Python scripts,
but on Zope 2.2.x you may use External python methods.)
(私は Python script を好んで使うので、Zope 2.3.x のほうが都合が良いですが、Zope 2.2.x でも External python method を使えます。)
Then you have to create 3 TinyTablePlus,
2 DTML methods and a Python Script.
つぎに TinyTablePlus を3つ、DTML methodを 2つ、
Python Script をひとつ作成します。
All these objects can be created and edited from management
interface of Zope from your Internet Browser (IE, Netscape and so on).
これらのオブジェクトはすべて、ブラウザ (IE, Netscape など) からアクセスできる
Zope の管理画面から作成、編集が可能です。
<dtml-var standard_html_header> <h1>Quick Poll Survey</h1>That means this script will call draw_survey which is in s_survey folder of Zope FileSystem?.<dtml-in snames> <dtml-if "surv==ans"> <dtml-var "s_survey.draw_survey(s_survey,surv,0)"> <hr> </dtml-if> </dtml-in> <dtml-var standard_html_footer>
s1,0)"><dtml-if ans> <dtml-call "REQUEST.set(cnt,0)"> <dtml-in "hostlist(name=REMOTE_ADDR)"> <dtml-var standard_html_header> <center><br><br><br> <h1>Oops! You did it again!</h1> </center> <dtml-var standard_html_footer><dtml-else> <dtml-in "svalues(surv=surv,ans=ans)"> <dtml-call "REQUEST.set(
cnt,counter)"> </dtml-in> <dtml-call "REQUEST.set(cnt,_.int(cnt)+1)"> <dtml-call "svalues.delRows(surv=surv,ans=ans)"> <dtml-call "svalues.setRow(surv=surv,ans=ans,counter=cnt)"> <dtml-call "hostlist.setRow(name=REMOTE_ADDR)"> <dtml-call "RESPONSE.redirect(HTTP_REFERER)"> </dtml-in> </dtml-if>
ret='This Python script will return the html table.ret=ret+<form method="post" action="s_survey/sredirect">ret=ret+<input type="hidden" name="surv" value="'+surv+">for i in self.snames(surv=surv,ans=surv): ret=ret+'<b>+i.name+</b><br>ret=ret+<table>'max=0 sum=0 length_bar=250 for i in self.snames(surv=surv): if surv!=i.ans: for j in self.svalues(surv=surv,ans=i.ans): sum=sum+int(j.counter) if max<int(j.counter): max=int(j.counter)
for i in self.snames(surv=surv): if surv!=i.ans: cnt=0 for j in self.svalues(surv=surv,ans=i.ans): cnt=int(j.counter) ret=ret+
<tr>if int(listing)==1: ret=ret+'<td><input type="radio" name="ans" value="'+i.ans+'">+i.name+</td>else: ret=ret+<td>+i.name+</td>if sum>0 : ret=ret+<th>+str(cnt)+</th><th>('+str(cnt*100/sum)+'%)</th><td><img src="/img/box/bar.gif" border=0 width=+str(cnt*length_bar/max)+height=10>ret=ret+</td></tr></table>if int(listing)==1 : ret=ret+<input type="submit" value="Answer">ret=ret+</form>'return ret
s2)">s2
| Last edited Sat, 16 Sep 2006 16:15:49 +0900 | Edit this page |