plugins:blogmenu

NP_BlogMenu.php

NP_ContentsList の後継プラグイン。カテゴリリストを表示。他プラグインとの連携がとれるため拡張性の高い仕様です。

General Plugin info
作者: Taka(※メンテの引継を希望)
最新のバージョン: Ver0.1.1
入手先: https://github.com/NucleusCMS/NP_BlogMenu/archive/master.zip 52.7kb
フォーラム参照先: NP_BlogMenu

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする
  3. 【その他、このプラグインに固有の作業。スキンへの記述を追加する、オプションを設定する、など】

プラグインの概要

Blogのリストおよび、それぞれのカテゴリーのリストを表示するプラグインです。主な機能は以下のとおりです。

  • Nucleus v3.22 以降のFancyURLの$CONF['xxxKey']や別プラグインによるURLカスタマイズに対応したリンク作成
  • Blog/カテゴリーの表示順制御、非表示設定 [管理画面で指定]
  • カテゴリーリスト等を展開する・しないBlogの設定(カレントBlogのみカテゴリーリストを表示する、というような設定が可能)[スキン変数のパラメーターで指定]
  • テンプレートからの他プラグインの呼び出し
  • フラグテンプレート内や他プラグインのパラメーターとして、BlogMenuのテンプレート変数が利用可能
  • Blogの別名(エイリアス)指定(本当は「My Weblog」という名前のBlogだけど、BlogMenuでは「Home」と表示する、ということが可能)[テンプレートで指定]
  • モジュールによるテンプレート変数の追加(まぁ私が機能追加しやすいようにしただけなんですが)
  • Nucleusのカテゴリーリストのようなリンク出力指定も可(archivelistやarchiveスキンでは、それらのパラメーターがURLに付く。またその場合、アーカイブスキンではカテゴリーの表示もその期間分に絞り込まれる。) [スキン変数のパラメーターで指定]

他プラグイン呼び出し機能についての注意

Blogリスト本体および、カテゴリーリストのテンプレートに

<%%プラグイン名%%>

や、

<%%プラグイン名(オプション,オプション2)%%>

のように記述すると(%は2つ)、その時パースしているBlogを現在選択されているBlogとして他のプラグインを呼び出すことができます。オプション値にBlogMenuのテンプレート変数を使うことも可能です。ただし、これの利用については以下の注意点があります。

  • スキン変数のパラメーターでカテゴリーリストを展開しない指定をしたBlogでは、プラグインも呼び出されません。この指定にかかわらず常に呼び出すようにするには、プラグイン名の先頭に「+」(プラス)を付けてください。
<%%+プラグイン名%%>

これで常に呼び出されるようになります。

  • 「その時パースしているBlogを現在選択されているBlogとしてプラグインを呼び出す」ことを実現するために(これをしないとほとんどのプラグインが期待通りに動かない)、global変数の$blogを一時的に書き換えています。これにより、もしかすると呼び出したプラグインとは関係ない別のプラグインに影響があるかもしれません。何かおかしいときはまず、これを疑ってみてください。また、テンプレートにプラグイン呼び出しの記述をしたあとは、一応一通りBlogの動作を確認するようにしてください。

プラグインオプションで設定できる項目

プラグイン一覧ページのBlogMenuの行の「編集」というリンクをクリックすると、プラグインオプションページに入れます。ここでは次の設定が可能です。

  • 同じ表示優先度を持つブログの表示順(デフォルト値)
  • 同じ表示優先度を持つカテゴリーの表示順(デフォルト値)
  • カテゴリーのURLパラメーターの順序 (カテゴリーID→ブログID または ブログID→カテゴリーID)
  • A-1: デフォルトブログのURLにblogidを付加するかどうか
  • A-2: デフォルトブログに属するカテゴリーのURLにもblogidを付加するかどうか
  • B-1: デフォルトブログとは異なるURLを持ったブログのURLにblogidを付加するかどうか
  • B-2: B-1に該当するブログに属するカテゴリーのURLにもblogidを付加するかどうか
  • [ノーマルURL用設定] ブログのURLが "/" で終わる場合、クエリストリング(catid等)の前に "index.php" を追加するかどうか
  • Nucleusのブログ設定ページにも、カテゴリー表示優先度の編集フォームを表示するかどうか(これを「はい」にすると、BlogAdminもNucleusのブログ設定ページからカテゴリーの並び順を編集できるようになります)
  • クイックメニューに管理画面へのリンクを表示するかどうか
  • アンインストール時に、このプラグインのデータベースのテーブルも削除するかどうか

プラグイン管理ページでできる操作

プラグイン一覧ページのBlogMenuの行の「管理」というリンクをクリックすると、管理画面に入れます。ここでは次の操作が可能です。詳細については管理ページ内のポップアップヘルプを参照してください。

  • モジュールの有効・無効の切り替え
  • Blog・カテゴリーのデフォルトの表示優先度設定
  • 指定できる優先度のレベル数の設定
  • 各Blog・カテゴリーの表示優先度の設定
  • テンプレートの作成・編集・削除

スキンへの記述方法

<%BlogMenu(テンプレート名,展開指定,Blog表示・非表示指定,アーカイブ絞込み,Blog表示順,カテゴリー表示順)%>
e.g. <%BlogMenu(default)%>
e.g. <%BlogMenu(default,@)%>
e.g. <%BlogMenu(mytemplate,,1/2/3,1)%>
e.g. <%BlogMenu(mytemplate,<>2,,0,bnumber asc,cname asc)%>

テンプレート名(必須)

BlogMenu管理画面で作成したテンプレートの名前

展開指定

カテゴリーリストやプラグインの展開に関する指定です。

  • @ ・・・現在選択されているBlogのみ、カテゴリーリストの表示やプラグインの呼び出しをします。他のBlogではテンプレートでの
<%%categorylist%%>

やプラグインの記述は無視されます。

  • 1/2/5 ・・・数値を記述すると、その数値がIDのブログのみカテゴリーリストの表示やプラグインの呼び出しをします。複数指定する場合はスラッシュで区切ってください。
  • <>3/4 ・・・先頭に <> を付けて数値を記述すると、その数値がIDのブログでは、カテゴリーリストやプラグインを表示しません。複数指定する場合はスラッシュで区切ってください。

この指定にかかわらず、常に呼び出したいプラグインがある場合は

<%%+プラグイン名%%>

このようにプラグイン名の先頭に「+」(プラス)を付けてください。

Blog表示・非表示指定

リストに表示する・しないBlogを指定します。

  • 1/2/5 ・・・数値を記述すると、その数値がIDのブログのみリストに表示します。複数指定する場合はスラッシュで区切ってください。
  • <>3/4 ・・・先頭に <> を付けて数値を記述すると、その数値がIDのブログはリストに表示しません。複数指定する場合はスラッシュで区切ってください。

アーカイブ絞込み

アーカイブやアーカイブスキンにおいて、各リンクURLにそれらのパラメーター(archive/archivelist)を追加するかどうかの設定。これを「1」にした場合、アーカイブスキンではその期間に存在するカテゴリーとそのアイテム数のみ表示されるようになります。ただしアーカイブやアーカイブリストのパラメーターが付く場合、プラグインオプションでのblogidを付加しない設定等は無視されます(URLカスタマイズプラグインに対応するため)。このあたりはBlogMenuのテンプレートで<%archivedate%>を使えるようにしていますので、それでうまく調整してください。

  • 1 … yes
  • 0 … no

Blog表示順

同じ表示優先度のBlogが複数あった場合の並び順を指定します。この指定がない場合は、プラグインオプションで設定した並び順が使用されます。以下の4つのうちのいずれかを記述してください。

  • bnumber asc ・・・BlogID昇順
  • bnumber desc ・・・BlogID降順
  • bname asc ・・・Blog名昇順
  • bname desc ・・・Blog名降順

カテゴリー表示順

同じ表示優先度のカテゴリーが複数あった場合の並び順を指定します。この指定がない場合は、プラグインオプションで設定した並び順が使用されます。以下の4つのうちのいずれかを記述してください。

  • catid asc ・・・カテゴリーID昇順
  • catid desc ・・・カテゴリー降順
  • cname asc ・・・カテゴリー名昇順
  • cname desc ・・・カテゴリー名降順

Tipsと裏技

サポートトピック参照。ヘルプに書かれていない内容として、サブモジュールの利用方法などについて触れてあります。

希望事項

バグ

開発履歴

  • 【Version 0.1.1 リリース <2016.08.03>】
    • Fix for PHP 7
    • Fix for PHP 5.4
    • Remove PHP ending tag
    • セミコロンの抜け修正
    • Replace mysql_xxx function (2014.09.23)
    • バグ修正の取り込み、EUC環境でのヘルプ画面の文字化けに対処(2006.12.05)
  • 【Version 0.1 リリース <2006.09.11>】
    • 初期リリース
 
plugins/blogmenu.txt · 最終更新: 2016/08/04 16:49 by fujisaki