Aug 22
NP_ContentsList は、コアで用意されているリンク作成用の createLink() ファンクションを呼び出さず自前でリンクを生成しているので、NP_CustomURL で設定した URL が反映されません
これを NP_CustomURL で設定した URL に対応させるためには、NP_ContentsList で生成したリンクを上書きしてやる必要があります
ブログ・カテゴリー・サブカテゴリーの各リンクを生成している部分で NP_CustomURL がインストールされているかどうかで条件分岐させて、インストールされている場合はコアのリンク作成機能を使うようにしてやればいいわけです
変更(挿入)箇所は全部で3箇所です
「function doSkinVar()」内の467行目からの「// sub category ---」で括られているブロックの486行目
と書いてある次の行に
と挿入、396行目から465行目までの「// Categories --------------------」ブロックの終了後、466行目に
最後に348行目の
の前の行に
を追加すれば完了です
(行番号はバージョン2.0のものになります)
この改造ともう一つ、NP_TagEX の tag を URL の最後に持ってくる改造はヘルプの最後に書いてるんだけどなぁ……
もしかしてちゃんと表示されません? > ヘルプ
これを NP_CustomURL で設定した URL に対応させるためには、NP_ContentsList で生成したリンクを上書きしてやる必要があります
ブログ・カテゴリー・サブカテゴリーの各リンクを生成している部分で NP_CustomURL がインストールされているかどうかで条件分岐させて、インストールされている場合はコアのリンク作成機能を使うようにしてやればいいわけです
変更(挿入)箇所は全部で3箇所です
「function doSkinVar()」内の467行目からの「// sub category ---」で括られているブロックの486行目
$subdata['sublink'] = addLinkParams($catdata['catlink'], array($subrequest => $subdata['subcatid']));
と書いてある次の行に
if ($CONF['URLMode'] == 'pathinfo' && $manager->pluginInstalled('NP_CustomURL')) {
$customurls = $manager->getPlugin('NP_CustomURL');
$subdata['sublink'] = $customurls->_addLinkParams($catdata['catlink'], array($subrequest => $subdata['subcatid']));
}
と挿入、396行目から465行目までの「// Categories --------------------」ブロックの終了後、466行目に
if ($CONF['URLMode'] == 'pathinfo' && $manager->pluginInstalled('NP_CustomURL')) {
$catdata['catlink'] = createCategoryLink($catdata['catid']);
}
最後に348行目の
$data['self'] = $data['blogurl'];
の前の行に
if ($CONF['URLMode'] == 'pathinfo' && $manager->pluginInstalled('NP_CustomURL')) {
$data['blogurl'] = createBlogidLink($data['blogid']);
}
を追加すれば完了です
(行番号はバージョン2.0のものになります)
この改造ともう一つ、NP_TagEX の tag を URL の最後に持ってくる改造はヘルプの最後に書いてるんだけどなぁ……
もしかしてちゃんと表示されません? > ヘルプ
5 Responses to “ NP_ContentsList を NP_CustomURL に対応させる方法 ”
Leave a Reply
OpenID を使ってログインすることができます。
このエントリにトラックバックはありません
この記事のトラックバックURL
http://shizuki.kinezumi.net/item_277.trackback(右クリックで'ショートカットの保存')
トラックバックするにはこの記事へのリンクhttp://shizuki.kinezumi.net/item_277.htmlが必要です

August 23rd, 2006 at 12:34:39 ヘルプファイルがあるのに気がついていませんでした。すいません!
配布ファイルにReadme.txtみたいな形で同梱すると私みたいな馬鹿野郎が減るかもしれません(^^;;
August 23rd, 2006 at 20:32:24 いえいえ、ヘルプ開いても更新履歴よりまだ下に書いてるんで気づき難いのは確かなんで、もっと解りやすい構成を考えようと思います
今使ってるヘルプの表示方法だと3.3だと使えなくなりそうですし、いい機会だと思います
August 25th, 2006 at 11:35:44 佐藤さんのプラグインで見られるような実装だと分かりやすいし必ず読むと思いますが、ああいうヘルプの実装って手間かかるのでしょうね。タブ切り換え形式になってるし。このへんはコア側でサポートしてくれるのが一番よさそう。
Readme.txtが入ってないプラグインがほとんどですが、これがあると安心します。
August 25th, 2006 at 21:32:43 >佐藤さんのプラグインで見られるような実装
ちょっと実物は見てないんですが、なんとなくイメージは解りました
というか、ヘルプページから管理画面へリダイレクトかけると楽かな ^^;
August 26th, 2006 at 16:02:51 たとえばNP_znItemFieldEXなんかがそうなんですが、バージョン情報まで表示できる優れモノです。呼び出し方はNucleus標準のそれとは少し違うようで、「?action=help」というクエリが付いてました。
簡単に考えるなら、管理ページの
> このプラグインのオプション設定ページへ移動
> メンバー用 URI 管理ページへ
の下に
「ヘルプを表示する」
を追加するだけでも効果がありそうに思います。