NP_Permalink|導入まとめ

NP_Permalink|導入まとめ

Author : pushman|Nucleus|2005-11-25 Fri 09:05

dj k!ng さん作の、個別アイテムページの URI を変更するプラグイン「NP_Permalink」導入のまとめ。

Magical URI 使用時

.htaccess へ以下を追記

RewriteRule ^nucleus/([-a-zA-Z0-9_]+)\.html$ index.php?itemid=$1

「^nucleus」部分は、対応するカテゴリー名。サイトの直下に指定した方が、後の修正が楽。

すでに

RewriteRule ^item_([0-9]+).html+ index.php?catid=$1

を記述している場合はこれを削除*1し「Redirect permanent」を利用する。
記述例:

Redirect permanent /item_1.html http://blog.heartfield-web.com/column/heartfield_again.html

Fancy URI の時も似たような修正が必要っぽい。通常使用だと別に必要なさそう。

コメントフォームの修正

コメント送信後、戻り先の URI がおかしくなるので、これを修正。「nucleus/forms」内の
commentform-loggedin.template
commentform-notloggedin.template

<%formdata(destinationurl)%>

./<%Permalink(name)%>.html

と修正。

トラックバック対応

トラックバックを打った先へ送信する URI は「nucleus/libs/globalfunctions.php」内の「function createItemLink」内で行っているので、ここに以下を追記。

function createItemLink($itemid, $extra = '') {
global $CONF;

//From NP_Permalink
$result = sql_query('SELECT name FROM ' . sql_table('plugin_permalink') . ' WHERE (itemid = ' . intval($itemid) . ')');

if (mysql_num_rows($result) > 0) {
	$object = mysql_fetch_object($result);
	$name = $object->name;
}
//From NP_Permalink

// From NP_CatDesc
$query = "SELECT cname " . "FROM ".sql_table('item').", ".sql_table('category')." " . "WHERE icat=catid " . "AND inumber=$itemid";

$results = mysql_query($query);
$row = mysql_fetch_assoc($results);
$cname = $row['cname'];
// From NP_CatDesc

if ($CONF['URLMode'] == 'pathinfo')

$link = $CONF['ItemURL'] . '/' . $cname . '/' . $name . '.html';
else
$link = $CONF['ItemURL'] . '?itemid=' . $itemid;
return addLinkParams($link, $extra);
}

個別アイテムページを、各カテゴリーごとのディレクトリに分けていない場合「From NP_CatDesc」内は不要。なので、前述したようにカテゴリーごとに分けない方が楽。


  • *1:削除しないと、リダイレクト先の URI の末尾に不要なアドレスが付加されます。

Tag(s): NP_Permalink / コア改造

Comment Form (policy)

(メールアドレスは非公開です)

Others
Newest 5 Items

NP_GoogleMapsにオリジナルマーカーを表示

BLOG.phpのPHP Warning

CPIでNucleus(UTF-8)

NP_znItemFieldEX|「本日」の条件判断を修正

NP_OnlyImg|高さを有効に

Nucleus CMS: Pure Publishing