サイト概要第3のサイトマークをつけるようにする改造

Yomi-Searchに第3のマークを追加する改造について

Yomi-Searchでは標準で「おすすめサイト」(Cool)と「相互リンク」(Hot)の2個のマークを管理人が各サイトごとにつけられるようになっています。
しかし3個目のマークを追加したくなる時がありますので、ここではその改造について書いてみます。

マークデータは管理人がつけることになりますから、管理室の改造が必要です。
これには、仮登録時処理画面なども含まれます。マーク画像の表示は、pl/temp.cgi の中の put_icon 関数が行っています。通常であれば、事前の準備として、マーク用の画像を準備する事から作業が始まります。

マークはモード名 m1,m2 として cgi に渡されます。したがって3個目のマークは m3 になります。この改造とは基本的に、m2 の処理部分の下に、m3 の処理を追加することになります。

■マーク画像の準備。

マーク画像は、 img/ ディレクトリにあります。標準では、m1.gif,m2.gif の2個が入っていますので、3個目のマーク用に m3.gif を作成しておきます。

■管理室にマーク名称設定部分を追加

・template/admin/cfg_lib.cgi
'name_m1'=>\'$EST{name_m1}\',
'name_m2'=>\'$EST{name_m2}\', # <- 元からある内容。(この下に・・・)
'name_m3'=>\'$EST{name_m3}\', # <- この行を追加します。

・template/admin/config.html
<li><b>おすすめ</b><br>
<ul><input type=text name=name_m1 value="$EST{name_m1}" size=20></ul>
<li><b>相互リンク</b><br>
<ul><input type=text name=name_m2 value="$EST{name_m2}" size=20></ul>
<li><b>マーク3</b><br>
<ul><input type=text name=name_m3 value="$EST{name_m3}" size=20></ul>

※相互リンクまでは元からある内容、その下のマーク3部分の2行を追加。

■マーク処理数を変更。

・template\admin\mente_html.html
・template\admin\mente_cgi.html
・template\admin\temp_to_regist.html
・admin.cgi
・regist_ys.cgi


以上の5個のファイルに含まれる、以下の内容を変更します。
foreach(1 .. 2){ #←マーク数を増やすときは修正

foreach(1 .. 3){ #←マーク数を増やすときは修正

※マーク数を3個以上追加する場合、その合計数を(1 .. N)のNの部分に設定します。このようは1個のファイルに複数箇所ありますので、全て探して全部変更してしまいます。

■マーク画像表示部分の追加。

・pl/temp.cgi
sub put_icon 関数の中に、以下の部分があります。
if($mark[1]){
##m2マーク(デフォルト:相互リンク)
print<<"EOM";
<img src="$EST{img_path_url}m2.gif" align=bottom>
EOM

これは、マーク2を表示しているところですが、この部分では、データ的に $mark[1] にデータが入っていれば、マークが設定されている事を示しています。マーク3が設定されると $mark[2] にデータが設定されます。つまり、この部分の下に、

if($mark[2]){
##m3マーク
print<<"EOM";
<img src="$EST{img_path_url}m3.gif" align=bottom>
EOM

を追加すると、マーク3の画像が表示されるようになります。

■マークサイトの抽出カテゴリ表示の追加

おすすめサイト/相互リンクサイト一覧が表示できるように、マーク3のサイト一覧も表示できるように改造するには・・・

・yomi.cgi
以下の行を探します。これが、現在のマーク2(相互リンクサイト)を抽出表示しているところです。
elsif($FORM{mode} eq "m2"){$Stitle="おすすめサイト"; $Spre_kt_file="m2_ys";}

この下に、次の行を追加します。
elsif($FORM{mode} eq "m3"){$Stitle="マーク3"; $Spre_kt_file="m3_ys";}

※この改造を行う事によって、 yomi.cgi?mode=m3 を実行すると、マーク3のサイト一覧がカテゴリ表(テンプレートはkt.html)されるようになります。


----
マークを多数増やす場合でも、m3と同じ手順で、m4/m5 と増やしておけばOKです。処理数を増加させておく事を忘れないで下さい。


スポンサードリンク