PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

NP_ItemNaviEXを分割

パンくずリストとページ前後移動ナビがセットになっているNP_ItemNaviEXというNucleusプラグインがあるのですが、パンくずリストと前後移動ナビを別々に記載したくなりました。
なるべく簡単に実現したいと思って、同じソースを別名にして2つ用意して、別々のプラグインとして登録して、使わない方の機能をコメントアウトする、といった手順で実現しました。
これでも十分だったんですが、せっかくなので引数を追加して自分好みに使えるように改修もしてみました。


需要がなさそうですが、とりあえずプラグインをアップしておきます。ソース改修部分はtakehanaと記載しているので、ご参考まで。なお元プラグインのコメントは殆ど除去していますので、気になる方は元プラグインのソースもあわせて見た方が有用かもしれません。あと自分が個人的に使ってる部分しか改修してないので、必要に応じてコメント部分を参考に改修してみてください。
なおEUC版しか用意してないので、UTF8環境の方は適宜変更して使ってください。
NP_ItemNaviEX(機能分割版)
解凍すると、中には2つのプラグインが入ってます。
NP_ItemNaviExTopic.php
パンくずリスト専用。
オプション設定は topicPathTemplate だけにしています。
前後ナビ部分をコメントしているので、このままだとアーカイブリンクの部分が出てきません。必要な場合はソースを改修して元に戻したりしてみてください。
NP_ItemNaviExSubnavi.php
前後ナビ専用。
スキン記載時に、更にパラメータを2個増やしています(省略可能)。
第二パラメータ $simplemode
・0:記事タイトルを表示
・1:オプション設定の文字を表示(後述)
(省略時0)
第三パラメータ $maxlength_title
・指定した文字数で丸める
・第二パラメータが0の場合にのみ有効
(省略時99)
<記載例>
<%ItemNaviExSubnavi(2,1)%>
→記事タイトルは出さず、簡略表示(オプション設定の内容)を行う
<%ItemNaviExSubnavi(2,0,20)%>
→記事タイトルを出すが、20文字で丸める
なおオプション設定は元プラグインの subnaviTemplate がそのまま残ってますが、他に独自の設定を増やしています。
簡略表示というのは、第二パラメータを1にした場合に表示する文言となります。自分の場合は「前の記事へ」「次の記事へ」とそれぞれ設定して使っています。
なお「次の記事へ」リンクですが、未来投稿の場合も表示されてしまっているので、クリックした場合は「アイテムが存在しません」とエラーになってしまいます。そこで未来投稿の場合はリンクを表示しないようにしました。

(337行目付近)
$query = 'SELECT i.ititle, i.inumber'
. ' FROM ' . sql_table('item') . ' as i' . $mtable
. ' WHERE i.idraft = 0'
//20170507_takehana_add_s
//現在時刻より前の場合のみ表示(未来投稿分は表示させない)
. " and i.itime < '" . date("Y-m-d H:i:s") . "' "
//20170507_takehana_add_e
. " and i.itime > '" . $item['itime'] . "' " . $where
. ' ORDER BY i.itime ASC';

使ってるCSSは以下になります。

.subnavi{
width:96%;
vertical-align: top;
border:	0px solid #999999;
padding : 5px 5px 5px 5px;
margin: 0px 0px 0px 0px;
color : black;
}
.subnavi-end{
clear:both;
margin-bottom:5px;
}
.nav-prev,.nav-next {
vertical-align: top;
width: 50%;
margin-bottom: 0px;
}
.nav-prev{
float: left;
text-align: left;
}
.nav-next{
float: right;
text-align: right;
}

必要に応じてCSSやプラグインソースを修正してみてください。
プラグインソースで「$subNaviUnit」で検索すれば、該当箇所が見当たると思います。

コメント

タイトルとURLをコピーしました