
管理画面を、部分的にテンプレート化しカスタマイズできるようにします。(サンプルスキン「helium」同梱)アイテム投稿画面では、指定プラグインのオプションフォームを分離することも可能です。
最新バージョン(ver0.6.4)の解説です。
解説
バージョンアップする場合、旧版を一旦アンインストールする必要があります。旧版のブログオプションを編集している場合、テキストファイルなどに保存しておいてください。
主な機能
- 管理画面をテンプレート化(使用できる各種テンプレート変数は、独自仕様です。)
- アイテム投稿画面で、各プラグインのオプションフォームを分離し、任意の場所に配置できる。(ブックマークレットにも対応)
- 管理画面用テンプレートは、Nucleus標準機能の「テンプレートの編集」で編集
- 管理画面用テンプレートは、Nucleus標準機能のインポート・エクスポートが可能で、配布することが可能
- アイテム投稿画面では、独自のバルーンヘルプを使用できます。

インストール方法
- アップロード
zipファイルを解凍してできた以下のディレクトリ・ファイルを、そのままの位置関係で、Nucleusがインストールされているディレクトリ(config.phpがあるところ)にアップします。
nucleus
├ libs
│├ CUSTOMADMIN.php
│└ CUSTOMFACTORY.php
└ plugins
├ zncustomadmin
│├ wz_tooltip.js
│├ japanese-euc.php
│├ japanese-utf8.php
│└ english.php
└ NP_znCustomAdmin.php
サンプルAdminスキン「helium」を同梱しています。こちらはファイル数が多いので割愛しますが、通常のスキンと同じ要領でインポートしてください。(skinbackup.xml の文字コードは、UTF8になっています。EUC環境の方は、変換してお使いください。)

Adminスキン「helium」内では、Nucleus v3.3仕様の<%if%>を使用しています。Nucleus下位バージョンでは、テンプレート「HEADER」を編集し、<%if%>、<%endif%>を削除してください。(Nucleusのバージョンアップをおすすめします。)
- コアファイル改造
nucleus/libs/ADMIN.php
ファイルの頭あたりの、
class ADMIN {
を、
以下のように編集します。
require_once($DIR_LIBS . 'CUSTOMADMIN.php');
class baseADMIN {
nucleus/libs/PAGEFACTORY.php
ファイルの頭あたりの、
class PAGEFACTORY extends BaseActions {
を、
以下のように編集します。
require_once($DIR_LIBS . 'CUSTOMFACTORY.php');
class basePAGEFACTORY extends BaseActions {
編集したADMIN.php、PAGEFACTORY.phpをアップロードしてください。
- インストール
プラグイン管理からNP_znCustomAdminをインストールしてください。
グローバルオプション
- カスタマイズする
「no」に設定することで、一時的にカスタマイズ機能を停止することができます。
- Adminテンプレート
使用するテンプレートを指定します。(アイテム投稿画面で使用するテンプレートは、各ブログのブログオプションで指定します)
- デフォルトの投稿用テンプレート名
新規ブログのデフォルトの投稿用テンプレート名を設定します。
ブログオプション
- アイテム追加画面テンプレート (admin)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
- アイテム編集画面テンプレート (admin)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
- アイテム追加画面テンプレート (Bookmarklet)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
- アイテム編集画面テンプレート (Bookmarklet)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
複数ブログで、それぞれ別のアイテム投稿画面を持つことができます。
アイテム投稿画面(テンプレートパーツ「ADMIN_ADD」「ADMIN_EDIT」「BOOKMARKLET_ADD」「BOOKMARKLET_EDIT」)で使用できる、独自テンプレート変数
- <%customhelplink(helpid, BGCOLOR:#ffffff&BORDERCOLOR:#c0b070)%>
- バルーンヘルプを設定します。使い方は、サンプルのheliumの中身をご覧ください。
- <%defaultcategory%>
- 自動的にデフォルトのカテゴリが指定されます。通常の<%categories%>の代わりに使います。「カテゴリは変更しない」というかた用テンプレート変数です。
- <%currentblogcategories(showNewCat, tabindex)%>
-
選択ブログのカテゴリだけが選択可能なカテゴリセレクトボックスを出力します。通常の<%categories%>の代わりに使います。「別ブログのカテゴリへ移動しない」というかた用テンプレート変数です。
オプションパラメータ:
- showNewCat:新しいカテゴリーの作成を含めるかどうかのフラグ。0-含めない(デフォルト)、1-含める
- tabindex:タブインデックス(Tabキーを押したときの順番指定)です。
- <%wysiwyg(textareaId)%>
- openWYSIWYGを使用する場合に必要となるJavaScriptを出力します。詳細は後述します。
必須パラメータ:
- textareaId:対象テキストエリアのid。inputbody-本文、inputmore-続き、その他のテキストエリアに使用する場合は、そのid。
- <%pluginform(pluginName)%>
- 別プラグインで、独自フォームを持つものを「追加プラグインオプション」から分離して、単独で使用できるようにします。
必須パラメータ:
- pluginName:「NP_」から始まるプラグインの名前。
Nucleus標準のプラグインフォーム(全プラグイン一覧)が不要な場合は、<%pluginextras%>というテンプレート変数を削除してください。
- <%pluginitemoption(pluginName)%>
- 別プラグインで、アイテムオプションを持つものを「Options for ...」から分離して、単独で使用できるようにします。
ただし、<tr><td>オプション名</td><td>値設定フォーム部品</td></tr>と出力されます。
必須パラメータ:
- pluginName:「NP_」から始まるプラグインの名前。
Nucleus標準のアイテムオプション(全プラグイン一覧)が不要な場合は、<%itemoptions%>というテンプレート変数を削除してください。
- <%znitemfieldex(fieldName)%>
- NP_znItemFieldEXの指定拡張フィールドを分離して、単独で使用できるようにします。これにより、タイトル・本文などのNucleus標準項目と同じレイアウトに配置することができます。(ラベルは表示されません)
必須パラメータ:
- fieldName:NP_znItemFieldEXにて作成したフィールド名(半角英数)。
- <%znitemfieldexpresence%>
- NP_znItemFieldEXの拡張フィールドレコードコントロールフォームを出力します。(拡張フィールドの削除、追加しない、などの設定を行います。)
アイテム編集画面(テンプレートパーツ「ADMIN_EDIT」「BOOKMARKLET_EDIT」)で使用できる、独自テンプレート変数
- <%author(realname)%>
- 著者を(半角英数の「表示名」じゃない)実名で表示
テンプレートパーツ「QUICKMENU」内でのみ使用できる、独自テンプレート変数
- <%url%>
- 各プラグイン管理ページへのURL
- <%tooltip%>
- 各プラグイン管理ページへのリンクのツールチップ用文字列
- <%title%>
- 各プラグイン管理ページへのリンクのタイトル
上記以外のテンプレートパーツ内でのみ使用できる、独自テンプレート変数
一部(ほとんど?)変数の説明は省かせていただきます。サンプルAdminスキン「helium」を参照してみてください。(汗
- <%if%>(if系は、Nucleus v3.3以降でのみ使用可能です。)
- 例)
- <%if(loggedin)%>
- ログインしてるかどうか
- <%if(loggedin, superadmin)%>
- Super-Adminでログインしているかどうか
- <%if(hasplugin, プラグイン名)%>
- <%if(hasplugin, プラグイン名, プラグインのグローバルオプション名)%>
- <%if(hasplugin, プラグイン名, プラグインのグローバルオプション名=値)%>
- <%if(znCustomAdmin, アクション名)%>
- 管理画面でのアクションが指定アクション名と一致するかどうか
特定ブログのチームメンバの判定など、今後増やしていく予定です。
- <%else%>
- <%endif%>
- <%elseif%>
- <%ifnot%>
- <%elseifnot%>
- <%donate%>
- Nucleus本家への寄付ページへのリンク
- <%thisyear%>
- 今年を表す4桁の西暦を出力
- <%charset%>
- <%sitename%>
- <%adminurl%>
- <%extrahead%>
- プラグインなどが出力する、htmlヘッダ内への追加内容
- <%membername%>
- <%indexurl%>
- <%nucleusversion%>
- <%nucleuspatchlevel%>
- <%nucleusversionstring%>
- <%quickmenu%>
- プラグインのクイックメニュー
- <%skinfile%>
Adminスキンの編集
「Adminスキン」と呼んでいますが、実際には、テンプレートしか使用していません。テンプレートの編集には、
NP_znSpecialTemplatePartsが必要です。
独自テンプレートパーツも、Nucleus標準機能のインポート・エクスポートが可能です。
よかったら、独自スキンを作成して、公開しちゃってみてください。
そしてトラックバックくださいませ。
多言語化版の一部に旧版のファイルが入っていました。差し替えが終わるまで、utf-8版のみの公開とさせていただきます。すみません。
ダウンロード
変更点
- 新規ブログのデフォルトのテンプレートを設定する機能
- 独自の定数をテンプレートで定義
- 投稿画面テンプレート変数<%author(realname)%>を追加
- オプション値更新方法を改善
- 投稿画面テンプレート変数<%customhelplink()%>
- テンプレート取得方法変更したことにより、カスタマイズしない場合の取得に失敗していたのを修正
- NP_znSpecialTemplateParts対応
- ブックマークレットアイテム投稿画面のカスタマイズが可能に
- default管理画面スキンでのjs処理が重複していたバグを修正
バージョン経歴
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。