新しく質問する

yomi-searchのカスタマイズについて

役に立った:2件
  • 質問者:maido73
  • 投稿日時:2009/09/13 16:30
  • 困り度:困ってます
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

yomi-search ver4.21(perl)の改造に関して上級者の皆様より、ご支援をいただきたく投稿させていただきました。
サイトごとの詳細ページ(detail.html)をオリジナルのenter.htmlを参考に作成してHTML(静的表示)表示するようにしました。
下記の処理では、個別サイトの新規登録、更新においても登録されているすべてのサイトのenter画面をhtmlディレクトリに生成するようです。
これを管理者権限でHTMLログファイルの更新処理の場合は、いまのまま一括処理をする。
もし、個別サイトから呼び出された場合(新規登録時、更新時)は、呼び出されたサイトのみ処理をするようにしてHTML生成時の負荷を軽減したいと考えています。
下記の内容を修正すれば可能では?ということくらいしかわかりません。
初心者でスキル以上の高望みをしておりますがご教示くださいますようお願いいたします。

これは、閉鎖されたサイトでコメントされていた内容を参考にtemp.cgi へ追加したものです。
#すべてのサイトのdetail画面をHTML化する場合の処理。
sub MK_html_detail{
local($id,$log,@logs,@Tlog,$line);
#IDを収集する。
open(IN,"$EST{log_path}$EST{logfile}");
while($line=<IN>){
push(@logs,$line);
}
close(IN);
#ID毎のdetail画面をhtmlディレクトリに生成する。
require "$EST{temp_path}detail.html";
select(OUT);
foreach $log(@logs) {
@Tlog=split(/<>/,$log);
#サイト情報作成。
~~~省略
$id = $Tlog[0];
open(OUT,">$EST{html_path}detail$id.html");
$FORM{id} = $id;
&print_detail;
close(OUT);
}
select(stdout);
}

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:2件)

回答(1件)

  • 参考になった:0件
  • 回答者:JavaJavax2
  • 回答日時:2009/09/13 16:44

またYomiSearchか。そういう風になってないんですか?
動いてるんだからそんなの考えなきゃいいじゃん。
特に困るわけでもあるまいし。

スクリプトの配布元のurlを教えてください。(補足要求)

通報する

この回答への補足

早速のレスありがとうございます。
>そういう風になってないんですか?
Yomi-searchに関するカスタマイズの過去スレ等を参考に改造したもので一括処理しか対応していないようです。
>動いてるんだからそんなの考えなきゃいいじゃん。
新規登録時、更新時に異常に負荷がかかるとのコメントがあり、試験運用まではしたのですが。
一つのサイトが新規登録、更新するとすべてのサイトのdetail.htmlが作成されるので管理者側からは制御できないので現状での使用は負荷が怖くて本運用できない状況です。

>スクリプトの配布元のurlを教えてください。(補足要求)
本家WonderLink様のyomi-search ver4.21を使用しております。
http://yomi.pekori.to/です。
なお、改造の概要ですが
pl/temp.cgiに、上記内容sub MK_html_detailを追加と
MK_html 関数の中から呼び出すようにする。MK_html関数の最後付近に
&MK_html_detail;追加
detail.html を作成。template/enter.htmlをコピーして作成(画面を何回でも呼び出せるように関数化。不要なところを削除等の修正)
template/kt.htmlは、カテゴリのサイト表示部分から呼び出せるように修正
<a href="$EST{html_path_url}enter$Slog[0].html">詳細</a>
このような改造をしました。
上記の
#すべてのサイトのdetail画面をHTML化する場合の処理。
sub MK_html_detail{
local($id,$log,@logs,@Tlog,$line);
#IDを収集する。
open(IN,"$EST{log_path}$EST{logfile}");
while($line=<IN>){
push(@logs,$line);
}
close(IN);
このあたりにif構文を追加するのかななんて思っていました。
以上です。お手数をおかけいたしますがよろしくお願いいたします。

この回答へのお礼

皆様ありがとうございました。
残念ながら希望する内容の回答を得られませんでしたが締め切りとさせていただきました。

  
このQ&Aは役に立ちましたか?(役に立った:2件)

このページのトップへ

Facebook公式ページ

公式Twitter