NP_MostViewedのFancyURL対応
カテゴリ:Nucleus
日時:2004/07/17 15:30
ちょっと時間ができたので、遅ればせながらNucleusをFancyURL化した。
いままでやらなかったのは、以前ローカルサーバのテストでFancyURLだとカウンタのスクリプトに問題が生じることが分かっていたから。カウンタのスクリプトをちょいと直し、ようやく前進。まだ3.01へのバージョンアップという課題が残っているのだが、これはまたそのうち。
FancyURLにしてみると、「過去の人気記事」を表示しているNP_MostViewedにも問題があることが分かった。カテゴリを選択したりすると、NP_MostViewedが示すURLが号泣モノのヘンチョコリンな状態になってしまうのだ。 NP_MostViewedのソースを見てみると、FancyURLを一切考慮せずにURLを決め打ちで出力しているのが原因だった。
<a href=\"index.php?itemid=".$itemid."\">
これじゃダメやん。
URLを生成するコードをゼロから書いてもいいのだが、ちょうどまみおさんのところでプラグイン作成の際の「create****Link」ファンクションについてという記事を見つけたので、これを使わせてもらった。ちょっと手抜きして、取りあえずcreateGlobalItemLink関数だけをMostViewedのclass宣言内にコピペし、最後の方にあるアイテム出力をしているechoの前に、
$itemlink = $this->createGlobalItemLink($itemid, '');
という行を追加。そしてhref部分を
<a href=\"".$itemlink."\">
に書き換えてやればOK。
いままでやらなかったのは、以前ローカルサーバのテストでFancyURLだとカウンタのスクリプトに問題が生じることが分かっていたから。カウンタのスクリプトをちょいと直し、ようやく前進。まだ3.01へのバージョンアップという課題が残っているのだが、これはまたそのうち。
FancyURLにしてみると、「過去の人気記事」を表示しているNP_MostViewedにも問題があることが分かった。カテゴリを選択したりすると、NP_MostViewedが示すURLが号泣モノのヘンチョコリンな状態になってしまうのだ。 NP_MostViewedのソースを見てみると、FancyURLを一切考慮せずにURLを決め打ちで出力しているのが原因だった。
<a href=\"index.php?itemid=".$itemid."\">
これじゃダメやん。
URLを生成するコードをゼロから書いてもいいのだが、ちょうどまみおさんのところでプラグイン作成の際の「create****Link」ファンクションについてという記事を見つけたので、これを使わせてもらった。ちょっと手抜きして、取りあえずcreateGlobalItemLink関数だけをMostViewedのclass宣言内にコピペし、最後の方にあるアイテム出力をしているechoの前に、
$itemlink = $this->createGlobalItemLink($itemid, '');
という行を追加。そしてhref部分を
<a href=\"".$itemlink."\">
に書き換えてやればOK。