CGI サポートフォーラム

コメント返信ツリー表示一括表示リスト表示検索

質問をする前に、過去ログに同じ質問がないか検索してください。

←次の話題 前の話題→

■-フレーム形式について - mimi (02/27 12:38)
 └Re:フレーム形式について - masaya (02/28 02:54)
  └Re[2]:フレーム形式について - mimi (02/28 12:36)
   └Re[3]:フレーム形式について - masaya (02/28 12:56)

■ フレーム形式について
投稿者:mimi さん  ( uid 28214, posts:3, since 2004/01/10 )
投稿日: 2004/02/27 (金) 12:38 No.460 | 編集 | 削除

こんにちは、以前こちらで質問させていただきましたが、その節は親切にサポートいただきまして本当にありがとうございました。

管理の手軽さ、また階層式の便利さに惚れ込み、リンク以外にも色々使ってみようと只今少しずつ手を加えておりますが、その中でいくつか質問させていただきます。


フレーム形式が左右になっていますが、こちらを上下に変えることは可能でしょうか。exit.cgiのrowsをcolsに変更後、表示関係(40行目)以下の改行を一部削除したのですが、どうしても表示が

カテゴリA
 サブカテゴリA1
 サブカテゴリA2 カテゴリB
           サブカテゴリB1
           サブカテゴリB2...
となってしまいます。

できればデフォルトでカテゴリを開いた状態にし

カテゴリA     カテゴリB     カテゴリC
 サブカテゴリA1  サブカテゴリB1  サブカテゴリC1
 サブカテゴリA2  サブカテゴリB2  サブカテゴリC2...
―――――――――――――――――――――――――――フレームで分割
  データ等表示部分

という表示にしたいのですが、こちらは大幅な改造無しに可能でしょうか?
お手隙の際にでも回答いただければ幸いです。よろしくお願いします。

[ この記事にコメントを返信する ] [ 原文引用 ]

Re:フレーム形式について
投稿者:masaya さん  ( uid 21158, posts:36, since 2004/01/06 )
投稿日: 2004/02/28 (土) 02:54 No.462 | 編集 | 削除

記事No.460 へのコメントです。

>こんにちは、以前こちらで質問させていただきましたが、その節は親切にサポートいただきまして本当にありがとうございました。
>管理の手軽さ、また階層式の便利さに惚れ込み、リンク以外にも色々使ってみようと只今少しずつ手を加えておりますが、その中でいくつか質問させていただきます。

いえいえ、ご丁寧なご挨拶ありがとうございます。
喜んでもらえるとサポートのしがいも湧くので、励みになります。(^^


>フレーム形式が左右になっていますが、こちらを上下に変えることは可能でしょうか。exit.cgiのrowsをcolsに変更後、表示関係(40行目)以下の改行を一部削除したのですが、どうしても表示が
>
>カテゴリA
> サブカテゴリA1
> サブカテゴリA2 カテゴリB
>           サブカテゴリB1
>           サブカテゴリB2...
>となってしまいます。
>
>できればデフォルトでカテゴリを開いた状態にし
>
>カテゴリA     カテゴリB     カテゴリC
> サブカテゴリA1  サブカテゴリB1  サブカテゴリC1
> サブカテゴリA2  サブカテゴリB2  サブカテゴリC2...
>―――――――――――――――――――――――――――フレームで分割
>  データ等表示部分
>
>という表示にしたいのですが、こちらは大幅な改造無しに可能でしょうか?
>お手隙の際にでも回答いただければ幸いです。よろしくお願いします。

カテゴリを横に並べるには、テーブルを使うのが楽だと思います。
本当は、JavaScript でやるのがきれいなんでしょうけど、ブラウザ依存が激しいので、JavaScriptは嫌いだったりします。
# メジャーじゃないブラウザを使っているので、悲しい思いをたまにしていますので・・・。

サンプルで作ってみた menu のルーチンを付けておくので試してみてください。

ただ、横並びだと、カテゴリの数が増えたときに、画面からはみ出させるか、カテゴリ名の表示幅を縮めるかする必要があるので、そこをどうするか考えどころですね。


sub menu {

&head;

my ($tmp_catid, $tmp_subid, $catdata, $subdata);
my (%tmp_list, %tmp_sublist) = ();
my ($cat_max) = &LoadCategory;
my ($cols) = $cat_max + 1;
$html .= <<_HTML_;
<table width="100%">
<tr>
<td colspan="$cols" <img src=\"$imgdir/$menu_image\"></td>\n
</tr>
<tr valign="top">
_HTML_

@tmp_cat = split (/\:/, $in->{'catid'});
$tmp=0;

foreach $tmp_catid (keys %category) {
$catdata = &GetCategory ($tmp_catid);
$tmp_list{$catdata->{'group'}."_".$catdata->{'catname'}."_".$catid} = $tmp_catid;
}

foreach (sort keys %tmp_list) {
$catdata = &GetCategory ($tmp_list{$_});
$tmp_count=0;
foreach $tmp (@tmp_cat) {
if ($tmp eq $catdata->{'catid'}) {
$temp = $in->{'catid'};
$temp =~ s/:$tmp:/:/g;
$temp =~ s/^$tmp://;
$temp =~ s/:$tmp$//;
$html .= "<td><a href=\"$script?mode=menu&catid=$temp&\" target=\"menu\" class=\"menu\"><img src=\"$imgdir/$dot_open\
" border=0> $catdata->{'catname'}</a>\n";
$tmp_count++;
my ($scat_max) = &LoadSubCategory;
foreach $tmp_subid (keys %subcategory) {
$subdata = &GetSubCategory ($tmp_subid);
$tmp_sublist{$subdata->{'group'}."_".$subdata->{'subname'}."_".$tmp_subid} = $tmp_subid;
}
foreach (sort keys %tmp_sublist) {
$subdata = &GetSubCategory ($tmp_sublist{$_});
if ($subdata->{'catid'} eq $tmp) {
$html .= "<br><a href=\"$script?mode=vew&subid=$subdata->{'subid'}\" target=\"vew\" class=\"menusub\"><img sr
c=\"$imgdir/$dot_image\" border=0> $subdata->{'subname'}</a>\n";
}
}
$html .= "</td>\n";
}
}
if ($tmp_count == 0) {
$temp = $in->{'catid'};
$temp .= ":$catdata->{'catid'}";
$html .= "<td><a href=\"$script?mode=menu&catid=$temp\" target=\"menu\" class=\"menu\"><img src=\"$imgdir/$dot_close\" bo
rder=0> $catdata->{'catname'}</a></td>\n";
}
}

$html .= <<_HTML_;
<td>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=text target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> テキスト表示</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=list target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> リスト表示</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=vew&cmd=newlist target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> NEWLIST</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$info target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> INFO</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$admscript class="menu" target="vew"><img src=\"$imgdir/$dot_image\" border=0> 管理用</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$home target="_top" class="menu"><img src=\"$imgdir/$dot_image\" border=0> HOME</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<form action="$script" method="post" target="vew">
<input type="hidden" name="mode" value="vew">
<input type="hidden" name="cmd" value="search">
<input type="text" name="word" value="" style="width:150px;"><br>
<div align="center"><input type="image" src="$imgdir/search.$ext" border=0 width=80 height=21 alt="search!"></div>
<br>
</form>
</td>
</tr>
</table>
</body></html>

_HTML_
}

[ この記事にコメントを返信する ] [ 原文引用 ]

Re[2]:フレーム形式について
投稿者:mimi さん  ( uid 28214, posts:4, since 2004/01/10 )
投稿日: 2004/02/28 (土) 12:36 No.464 | 編集 | 削除

記事No.462 へのコメントです。

こんにちは、早速のお返事ありがとうございました!

実は私も、いじっている時に『改行じゃ階段状になるのも当たり前だよねえ。それじゃテーブルタグ?』と思っていたのですが、一体どこにタグを入れたらいいのか全く分かりませんでした(^ ^;
そこで指導いただいたサンプルをそのまま該当箇所にコピペしてみたらエラーが出ましたので、サンプルのテーブルタグ位置を参考にして手を加えていたものに書き足していったら、思い通りの表示になりましたのでご報告いたします(^-^)

>ただ、横並びだと、カテゴリの数が増えたときに、画面からはみ出させるか、カテゴリ名の表示幅を縮めるかする必要があるので、そこをどうするか考えどころですね。
そうですね、うちは今のところはカテゴリが4つ以上に増える予定はないので、とりあえずカテゴリのセルを幅指定して対応しています。ただ、カテゴリ・サブカテゴリ共に増やす時は表示が崩れないかどうか、チェックの必要がありそうです。
リスト表示、管理用、検索窓などはこれから縦並びにして追々位置の微調整をする予定です。…こう考えると、やっぱり左右表示の方が理に適っていますね(笑)

>本当は、JavaScript でやるのがきれいなんでしょうけど、ブラウザ依存が激しいので、JavaScriptは嫌いだったりします。
私は、メインで使っているのはIEなのですが、PCに触る場所によってNNやタブブラウザを使用することもあるのでその気持ちは分かります。
ブラウザだけではなく解像度とかモニタとか、人によってwebを見る環境って全然違いますものね。せめて少しでも多くの環境で見やすいようチェックしたいのですが、なかなか上手くいかず出先で自分のHPを見て後ろにひっくり返りたい気持ちになることが多々あります・・・(^ ^;

お陰様で、これでリンク・日記・エッセイと全てこちらでお世話になることができそうです。タグ打ち無し、FTPソフトを立ち上げなくても簡単更新、ものぐさな私には理想かもしれません(笑)
御指導本当にありがとうございました。また何かございましたら、その時はどうかよろしくお願いしますね。
それでは失礼します。




以下は、サンプル部分を改造無しのExit改造版(ややこしいな)上で差し替えた時に出たエラーメッセージです。残念ながら私にはさっぱり分からない内容なのですが、この先同じように上下フレームにされたい方がおられた時、参考になさっていただければ幸いです。
(当方はサンプルを参考にタグ挿入で対応できました)
-----------------


[exit.cgi:101:warn] Bareword found where operator expected at /home/********/html/cgi-bin/test2/exit.cgi line 101, near "" border"
(Might be a runaway multi-line "" string starting on line 100)
> " border=0> $catdata->{'catname'}</a>\n";
[exit.cgi:101:warn] (Missing operator before border?)
> " border=0> $catdata->{'catname'}</a>\n";
[exit.cgi:101:die] syntax error at /home/********/html/cgi-bin/test2/exit.cgi line 101, near "" border"
BEGIN not safe after errors--compilation aborted at /home/********/html/cgi-bin/test2/exit.cgi line 101.
> " border=0> $catdata->{'catname'}</a>\n";

[ この記事にコメントを返信する ] [ 原文引用 ]

Re[3]:フレーム形式について
投稿者:masaya さん  ( uid 21158, posts:37, since 2004/01/06 )
投稿日: 2004/02/28 (土) 12:56 No.465 | 編集 | 削除

記事No.464 へのコメントです。

>そこで指導いただいたサンプルをそのまま該当箇所にコピペしてみたらエラーが出ましたので、サンプルのテーブルタグ位置を参考にして手を加えていたものに書き足していったら、思い通りの表示になりましたのでご報告いたします(^-^)

すみません、コードをコピペするときに、余計な改行が入ってしまったようです。
# エディタの折り返し位置に改行が入ってしまいました。

>>ただ、横並びだと、カテゴリの数が増えたときに、画面からはみ出させるか、カテゴリ名の表示幅を縮めるかする必要があるので、そこをどうするか考えどころですね。
>そうですね、うちは今のところはカテゴリが4つ以上に増える予定はないので、とりあえずカテゴリのセルを幅指定して対応しています。ただ、カテゴリ・サブカテゴリ共に増やす時は表示が崩れないかどうか、チェックの必要がありそうです。
>リスト表示、管理用、検索窓などはこれから縦並びにして追々位置の微調整をする予定です。…こう考えると、やっぱり左右表示の方が理に適っていますね(笑)

WEBブラウザだと、横のスクロールはあまり使わないので嫌がられるんですよね。
でも、mimiさんのように、それを理解して使われるなら安心ですので。(^^


>ブラウザだけではなく解像度とかモニタとか、人によってwebを見る環境って全然違いますものね。せめて少しでも多くの環境で見やすいようチェックしたいのですが、なかなか上手くいかず出先で自分のHPを見て後ろにひっくり返りたい気持ちになることが多々あります・・・(^ ^;

表示が崩れても見えるのならいいのですが、JavaScriptだとメニューの展開すらできないときがあるので、その先に進めなくなっちゃってすごく悲しかったりします。(^^;


>お陰様で、これでリンク・日記・エッセイと全てこちらでお世話になることができそうです。タグ打ち無し、FTPソフトを立ち上げなくても簡単更新、ものぐさな私には理想かもしれません(笑)

面倒くさがりの私が作ったので、ものぐさな方向けなのかもしれません。(笑

以下に、改行位置を修正したサンプルコードを書いておきます。

sub menu {

&head;

my ($tmp_catid, $tmp_subid, $catdata, $subdata);
my (%tmp_list, %tmp_sublist) = ();
my ($cat_max) = &LoadCategory;
my ($cols) = $cat_max + 1;
$html .= <<_HTML_;
<table width="100%">
<tr>
<td colspan="$cols" <img src=\"$imgdir/$menu_image\"></td>\n
</tr>
<tr valign="top">
_HTML_

@tmp_cat = split (/\:/, $in->{'catid'});
$tmp=0;

foreach $tmp_catid (keys %category) {
$catdata = &GetCategory ($tmp_catid);
$tmp_list{$catdata->{'group'}."_".$catdata->{'catname'}."_".$catid} = $tmp_catid;
}

foreach (sort keys %tmp_list) {
$catdata = &GetCategory ($tmp_list{$_});
$tmp_count=0;
foreach $tmp (@tmp_cat) {
if ($tmp eq $catdata->{'catid'}) {
$temp = $in->{'catid'};
$temp =~ s/:$tmp:/:/g;
$temp =~ s/^$tmp://;
$temp =~ s/:$tmp$//;
$html .= "<td><a href=\"$script?mode=menu&catid=$temp&\" target=\"menu\" class=\"menu\"><img src=\"$imgdir/$dot_open\" border=0> $catdata->{'catname'}</a>\n";
$tmp_count++;
my ($scat_max) = &LoadSubCategory;
foreach $tmp_subid (keys %subcategory) {
$subdata = &GetSubCategory ($tmp_subid);
$tmp_sublist{$subdata->{'group'}."_".$subdata->{'subname'}."_".$tmp_subid} = $tmp_subid;
}
foreach (sort keys %tmp_sublist) {
$subdata = &GetSubCategory ($tmp_sublist{$_});
if ($subdata->{'catid'} eq $tmp) {
$html .= "<br><a href=\"$script?mode=vew&subid=$subdata->{'subid'}\" target=\"vew\" class=\"menusub\"><img src=\"$imgdir/$dot_image\" border=0> $subdata->{'subname'}</a>\n";
}
}
$html .= "</td>\n";
}
}
if ($tmp_count == 0) {
$temp = $in->{'catid'};
$temp .= ":$catdata->{'catid'}";
$html .= "<td><a href=\"$script?mode=menu&catid=$temp\" target=\"menu\" class=\"menu\"><img src=\"$imgdir/$dot_close\" border=0> $catdata->{'catname'}</a></td>\n";
}
}

$html .= <<_HTML_;
<td>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=text target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> テキスト表示</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=list target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> リスト表示</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$script?mode=vew&cmd=newlist target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> NEWLIST</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$info target="vew" class="menu"><img src=\"$imgdir/$dot_image\" border=0> INFO</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$admscript class="menu" target="vew"><img src=\"$imgdir/$dot_image\" border=0> 管理用</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<a href=$home target="_top" class="menu"><img src=\"$imgdir/$dot_image\" border=0> HOME</a><br>
<div><img src="$imgdir/line2.$ext" width=150 height=5></div>
<form action="$script" method="post" target="vew">
<input type="hidden" name="mode" value="vew">
<input type="hidden" name="cmd" value="search">
<input type="text" name="word" value="" style="width:150px;"><br>
<div align="center"><input type="image" src="$imgdir/search.$ext" border=0 width=80 height=21 alt="search!"></div>
<br>
</form>
</td>
</tr>
</table>
</body></html>

_HTML_
}

[ この記事にコメントを返信する ] [ 原文引用 ]

←次の話題 前の話題→

- TOP -

管理者:webmaster
NICOLE's - WWWForum 3.7c  Modified by masaya
Catch: Wed May 8 05:50:58 2024
[jcode.pl:679:warn] defined(%hash) is deprecated at lib/jcode.pl line 679.
[jcode.pl:679:warn] (Maybe you should just omit the defined()?)
[jcode.pl:688:warn] defined(%hash) is deprecated at lib/jcode.pl line 688.
[jcode.pl:688:warn] (Maybe you should just omit the defined()?)

/wwwforum/wwwforum.cgi?id=11&az=thread&number=460 with Perl 5.016003 for freebsd