NP_DraftWorks|テンプレートの指定改造

NP_DraftWorks|テンプレートの指定改造

Author : pushman|Nucleus|2006-07-05 Wed 23:27

NP_Header」「NP_Plaintext」を始め、サイト管理にとても役立つ良質プラグインを配布してくれている「The Skooler.org Blogs」さん。当サイトも構築するにあたって相当猛烈お世話になっています。最近構築したサイトで「NP_DraftWorks」を利用させていただくことにしたのですが、プレビュー表示のテンプレートを切り替える必要が生じたため、スキンに記述する際にオプションを追加して、任意のテンプレートで表示できるように改造してみました。

まず、doSkinVar 関数に引数を追加します。

修正前。

function doSkinVar($skinType, $limit = 0, $sort = 'DESC') {

修正後。

function doSkinVar($skinType, $limit = 0, $sort = 'DESC', $template = 'draftworks') {

次に 82 行目あたりを修正。

修正前。

echo '<a href="' . $CONF['AdminURL'] . 'index.php?action=itemedit&amp;itemid=' . $row->inumber . '">' . $row->ititle . '</a> [<a href="' . $CONF['ActionURL'] . '?action=plugin&amp;name=' . $this->getName() . '&amp;type=preview&amp;itemid=' . $row->inumber . '">Preview</a>]';

修正後。

echo '<a href="' . $CONF['AdminURL'] . 'index.php?action=itemedit&amp;itemid=' . $row->inumber . '">' . $row->ititle . '</a> <a href="' . $CONF['ActionURL'] . '?action=plugin&amp;name=' . $this->getName() . '&amp;type=preview&amp;template=' . $template . '&amp;itemid=' . $row->inumber . '" title="[' . $template . ']' . htmlspecialchars($row->ititle) . '">[' . $template . '] Preview ' .  $row->inumber . '</a>';

doAction 関数内の 115 行目辺りを修正。

修正前。

$template = $this->getOption('template');

修正後。

$template = requestVar('template');

これでスキンに記述する際、3 つ目の引数が有効になります。そこに表示させたいテンプレート名を書けば、それを利用してプレビューしてくれます。

記述例

<%DraftWorks(,,draft/1)%>
<%DraftWorks(,,draft/2)%>
<%DraftWorks(,,draft/3)%>

記事ごとにテンプレートを分けられるわけではありませんので「下書き数×使用テンプレート数」が表示されますので、大量の記事を下書きにしているとかなり鬱陶しくなりますが、なかなか便利です。

Tag(s): NP_DraftWorks

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