Re: カキコチェッカ v2.00 ( No.1 ) |
- 日時: 2010/08/29 22:01
- 名前: o6asan
- りりさん,こんばんは。
skin.htmlを直してみました。あと,<font>タグを直したいと思うのですが,styleでの指定とで入り組んで いて,面倒なので今回はやめにしました。
出来たファイルは,こちらにアップします。 h ttp://todos.xsrv.jp/uploader/upl/skin.html <---- 訂正ファイルをアップしたので,削除しました。
右端が,新ファイルのローカルでの表示状態です。
多分,大丈夫だと思うのですが,不都合がありましたら,お知らせください。
|
Re: カキコチェッカ v2.00 ( No.2 ) |
- 日時: 2010/08/29 22:21
- 名前: りり
- o6asanさん、どうもありがとうございます。
まだ修正箇所はよく見ていないのですが、とりあえず、skin.htmlを入れ替えたところ、なぜか、グループごとの表示が出ません。 で、すぐに元に戻しています。
私も、試行錯誤で、何をどうするとどうなるのかよく分からないのですが、以前も、フッタを弄ると、ちゃんと繰り返し表示されなくなったり…
<font>タグは、おっしゃるとおり、styleでの指定と、私がどうしても個々に大きさを決めたいところと混在しています。
もともとテーブルで作っていた構成に、カキコチェッカーのstyleを入れたので、こういう感じになってしまいました…
|
Re: カキコチェッカ v2.00 ( No.3 ) |
- 日時: 2010/08/29 22:40
- 名前: o6asan
- りりさん,どうもすみません。
一か所わからないけれど,消してしまったところがあるのです。 それは,_COMMENT_ というところです。cgiのほうの何らかの変数だと思ったんですが。 入れる位置としてはすごく中途半端な位置に入っていたので,消したのです。 これを戻しても駄目でしょうか。
もしだめだとすると,変なことの起こる原因は,スキンだけでは分からないような気がします。
|
Re: カキコチェッカ v2.00 ( No.4 ) |
- 日時: 2010/08/29 22:46
- 名前: o6asan
- りりさん,ごめんなさい。
もう一度見直していて,大きな勘違いに気づきましたので,もう一度直して,アップします。 しばらくお待ちください。
|
Re: カキコチェッカ v2.00 ( No.5 ) |
- 日時: 2010/08/29 22:56
- 名前: o6asan
- りりさん,こちらでは,どうでしょうか。
h ttp://todos.xsrv.jp/uploader/upl/skin-2.html <---- 訂正ファイルをアップしたので,削除しました。
_COMMENT_については,やはりどこか別ファイルで定義しているようで,この部分で <!-- ◆ グループ内の各データ --><!-- CommentStart --> <TR class=bg> <TD>_NAME_</TD> <TD>_DATE_</TD></TR> <!-- CommentEnd --> を使っているようです。で,skin.htmlだけで,表示させると,奇妙な感じになります。
|
Re: カキコチェッカ v2.00 ( No.6 ) |
- 日時: 2010/08/29 23:11
- 名前: りり
- ただ今、o6asanさん、編集の改訂版に入れ替えました。
やはり、skin.htmlだけで構成を考えようとしても、難しいようですね。 でも、細かい部分を見ていただいてありがとうございました。
本体CGI・check.cgiのフッター書き込み部分は、こういう感じですが、グループ内のデータの部分は、ソートによって変わるので、とても複雑になっています。
# フッター書き込み if($popup){ $backlink = "<FORM><INPUT TYPE=\"button\" VALUE=\" Close \" onClick=\"window.close()\"></FORM>";} else{ $backlink = "<div align=center><a href=\"$backurl\">[Back]</a></div>";}
$footer =~ s/_BACK_/$backlink/ig; $footer =~ s/_CGIPATH_/$cgipath/ig; $footer =~ s/_METHOD_/$method/ig; print "$footer"; exit;
|
Re: カキコチェッカ v2.00 ( No.7 ) |
- 日時: 2010/08/29 23:39
- 名前: o6asan
- りりさん,改めまして,こんばんは。
_COMMENT_の定義がどうなっているか知りたいです。
それと,あわててアップしたので,</BODY>を入れ忘れました。
<!-- ◆ グループ内の各データ --><!-- CommentStart --> <TR class=bg> <TD>_NAME_</TD> <TD>_DATE_</TD></TR> <!-- CommentEnd -->
の部分はおそらくcgiの定義で_COMMENT_部分に読み込まれますので,最終的なHTMLとしては,変なことにはなっていません。 ただ,微妙に終了タグがなかったり,height設定が違ったりしているところがあっただけです。 skin.htmlについては,</BODY>以外はきっちり閉じましたので,フッター部分はフッター部分で, 扱えるのではないかと思うのですが......
と,書いたところで,トップページのソースを見たのですが,1番下が, <INPUT type="submit" value="Admin"> </form> で終わっています。フッター書き込みに行って,戻った時点で,HTMLを終了作業を入れなければいけないのですが, それができていないようです。それと,以下のフッター書き込みがどこにつながるのかよくわからないのですが, これは,カキコチェッカの変数なのでしょうか。
# フッター書き込み if($popup){ $backlink = "<FORM><INPUT TYPE=\"button\" VALUE=\" Close \" onClick=\"window.close()\"></FORM>";} else{ $backlink = "<div align=center><a href=\"$backurl\">[Back]</a></div>";}
$footer =~ s/_BACK_/$backlink/ig; $footer =~ s/_CGIPATH_/$cgipath/ig; $footer =~ s/_METHOD_/$method/ig; print "$footer"; exit;
|
Re: カキコチェッカ v2.00 ( No.8 ) |
- 日時: 2010/08/30 04:14
- 名前: o6asan
- りりさん,おはようございます。
今日は,お休みなので,check.cgiを落として調べてみました。
最終版のつもりで,アップしておきます。今度こそ,多分大丈夫だと思うのですが...... http://todos.xsrv.jp/uploader/upl/skin-3.html
========================================================================================== # フッター書き込み の部分で, print "$footer\n</HTML>\n"; を print "$footer"; にしてしまっているので,
skin.htmlのほうで,
<!-- ■ フッタ --> <!-- FooterStart --> <TABLE cellSpacing=1 cellPadding=2 width=350 align=center border=0> <TBODY> <TR> <TD><form action="_CGIPATH_" method="_METHOD_"> <input type=hidden name=mode value="admin"><FONT SIZE="1"><A HREF="http://www.minicgi.net/" target="_top" style="text-decoration: none;">カキコチェッカ v2.00</A></FONT> Pass:<input type=password name=mpass style="width: 60px; height: 20px;" size=7 maxlength=8> <INPUT type="submit" value="Admin"> </form> </TD></TR></TBODY></TABLE> </BODY></HTML> <!-- FooterEnd -->
にしてしまったほうが,すっきりするようです。
それから,skin.htmlにある <!-- SiteSearch Google --> (←これはりりさんがgoogle関連デ入れたものですね。) 以外の <!-- FooterStart --><!-- FooterEnd --> などは,check.cgiの中に範囲の定義がありまして, これの配置を間違えると,表示が違ってきますので,注意が必要です。 ========================================================================================== 蛇足ですが, $popup=0を使われているようだし,_BACK_も使っていないので,
if($popup){ $backlink = "<FORM><INPUT TYPE=\"button\" VALUE=\" Close \" onClick=\"window.close()\"></FORM>";} else{ $backlink = "<div align=center><a href=\"$backurl\">[Back]</a></div>";}
$footer =~ s/_BACK_/$backlink/ig;
を全部削除してもいいと思います。他の$popup関連のところも削除すると,すっきりするかもしれません。
そういえば,skin.htmlの
<SCRIPT LANGUAGE="JavaScript"> <!-- function GoWin(WO) { if (opener.closed) { NewWin=window.open("","MWindow",""); NewWin.location.href= WO ; } else { opener.location.href=WO } } //--> </SCRIPT>
を削除してます。$popup=0なので,大丈夫だと思いますが,どこかで単独で使っているところがあって, エラーが出るようなら,復活させてください。
 |
Re: カキコチェッカ v2.00 ( No.9 ) |
- 日時: 2010/08/30 05:44
- 名前: りり
- まあ!o6asanさん、朝早くから!
少し前にこの前の書き込みのお返事を書こうとしていたところでしたので、丁度良かったです。
ただ今、最新版のskin.htmlにしました。こちらです。 http://todos.xsrv.jp/check/skin.html
変なところに、adminボタンが入らなくて、良くなりました。
最初のskin.htmlもそうなのですが、どうしてテーブルからはみ出すかは、謎なのです。 前は、大きくテーブルから外れるので、ダメだと思って、別のほとんどオリジナルなadminボタン入りのskin.htmlを用意して交互に使っていたのですね。
それが、ローカルでのskin.htmlの表示がダメでも、アップすると、使えるという…変な具合で…
オリジナルのskin.htmlが簡易なので、テーブルを使ったhtmlと合わないのかもしれません。
adminで入ったときも、URLは、 http://todos.xsrv.jp/check/check.cgiで同じですが、このときは、skin.htmlは読まないで、基本のグループ名だけで動くのですよね。
今まで、悩みの種だったのですが、今回きっかけがあって、o6asanさんのブログに書いてみて良かったです。
CGI作者さんは、skin.htmlは、 #-------------------------------- # スキンを作成するには・・・ #-------------------------------- 慣れないうちは、デフォルトのスキンをコピーしてスキンを作成してみてください。 <!-- ○○Start -->から<!-- ○○END -->で挟まれた部分は、自由に変更することができます。
また、以下の文字列は、それぞれ下の表のように置換されます。
■ 置換文字列一覧 1) <!-- HedderStart -->から<!-- HedderEnd -->まで _CGIPATH_ :CGIファイルへのパス
2) <!-- ArticleStart -->から<!-- ArticleEnd -->まで _GROUP_ :グループ名 _COMMENT_ :(3)で設定した部分
3) <!-- CommentStart -->から<!-- CommentEnd -->まで _NAME_ :設定したページ名 _DATE_ :取得した日付
4) <!-- FooterStart -->から<!-- FooterEnd -->まで _BACK_ :Backボタン(ポップアップ形式で利用する場合は閉じるボタン) _CGIPATH_ :CGIファイルへのパス _METHOD_ :フォームの投稿形式
と書いています。テーブルの部分は、自由に変えても良いところみたいなんですけどね。
 |
Re: カキコチェッカ v2.00 ( No.10 ) |
- 日時: 2010/08/30 08:46
- 名前: o6asan
- りりさん,おはようございます。
> 最初のskin.htmlもそうなのですが、どうしてテーブルからはみ出すかは、謎なのです。 いえ,はみ出して当然なのです。昨日,はじめからcheck.zipを落として調べるところから始めればよかったの ですが,手抜きをしたせいで,二度手間三度手間になってしまいました。ローカルで,perlを通さないまま, HTMLが実行された場合,_COMMENT_や_GROUP_,_NAME_はただの文字列とみなされますから,
_COMMENT_
や
<!-- ◆ グループ内の各データ --><!-- CommentStart --> <TR class=bg> <TD>_NAME_</TD> <TD>_DATE_</TD></TR> <!-- CommentEnd -->
の部分は,テーブルの中にないことになります。ですから,はみ出すのです。
それから,check.cgiのテンプレート読み込みのところで,
$header = (split(/<!--[ \t\r\n]*HeaderStart[ \t\r\n]*-->\r?\n?/i,$file))[1]; $header =~ s/<!--[ \t\r\n]*HeaderEnd[ \t\r\n]*-->(.|\n)*//i;
$article = (split(/<!--[ \t\r\n]*ArticleStart[ \t\r\n]*-->\r?\n?/i,$file))[1]; $article =~ s/<!--[ \t\r\n]*ArticleEnd[ \t\r\n]*-->(.|\n)*//i;
$comment = (split(/<!--[ \t\r\n]*CommentStart[ \t\r\n]*-->\r?\n?/i,$file))[1]; $comment =~ s/<!--[ \t\r\n]*CommentEnd[ \t\r\n]*-->(.|\n)*//i;
$footer = (split(/<!--[ \t\r\n]*FooterStart[ \t\r\n]*-->\r?\n?/i,$file))[1]; $footer =~ s/<!--[ \t\r\n]*FooterEnd[ \t\r\n]*-->(.|\n)*//i;
というのがありますから,FooterEndなどを雑に設定すると変なことになります。
ところで,skin.htmlを読んだり読まなかったりのところがあるのでしたら, </TD></TR></TBODY></TABLE> </BODY></HTML> <!-- FooterEnd -->
と
print "$footer";
のところはデフォルトと同じように, </TD></TR></TBODY></TABLE> </BODY> <!-- FooterEnd --> </HTML>
と
print "$footer\n</HTML>\n";
にしたほうがいいかもしれません。
追記: もともとのskin.htmlのテーブルはすごくシンプルなものですね。で,$footerのところの終わりが簡単で済みますが, TODOSの場合はかなり複雑になっています。今,もう一度,skin-3.htmlを見たのですが,一番初めのテーブルを 閉じるのを忘れています。たいがいのブラウザは寛大に頭から表示していってくれますから,見掛け上エラーに なっていませんが,シビアなブラウザに逢うと表示が崩れるかもしれません。footerのところは,すぐ後にexitが あって,プログラムの終了がからみます。各exitでcgiを抜けると,htmlには戻ってこない構造になっているよう ですから,この辺を考慮に入れて整合性を取ればいいと思います。
時間が取れたら,check.cgiと突き合わせて考えてみようと思います。
 |