
管理画面を、部分的にテンプレート化しカスタマイズできるようにします。(サンプルスキン「helium」同梱)アイテム投稿画面では、指定プラグインのオプションフォームを分離することも可能です。
ver0.05は、旧バージョンです。解説
バージョンアップする場合、旧版を一旦アンインストールする必要があります。旧版のブログオプションを編集している場合、テキストファイルなどに保存しておいてください。
主な機能
- 管理画面をテンプレート化(使用できる各種テンプレート変数は、独自仕様です。)
- アイテム投稿画面で、各プラグインのオプションフォームを分離し、任意の場所に配置できる。
- 管理画面用テンプレートは、Nucleus標準機能の「テンプレートの編集」で編集
- 管理画面用テンプレートは、Nucleus標準機能のインポート・エクスポートが可能で、配布することが可能
インストール方法
- アップロード
zipファイルを解凍してできた以下のディレクトリ・ファイルを、そのままの位置関係で、Nucleusがインストールされているディレクトリ(config.phpがあるところ)にアップします。
nucleus
├ libs
│└ CUSTOMADMIN.php
└ plugins
├ zncustomadmin
│├ 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 {
編集したADMIN.phpをアップロードしてください。
- インストール
プラグイン管理からNP_znCustomAdminをインストールしてください。
グローバルオプション
- カスタマイズする
「no」に設定することで、一時的にカスタマイズ機能を停止することができます。
- Adminテンプレート
使用するテンプレートを指定します。(アイテム投稿画面で使用するテンプレートは、各ブログのブログオプションで指定します)
ブログオプション
- アイテム追加画面テンプレート (admin)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
- アイテム編集画面テンプレート (admin)
アイテム投稿画面で使用するテンプレートを指定します。(アイテム投稿画面以外で使用するテンプレートは、グローバルオプションで指定します)
複数ブログで、それぞれ別のアイテム投稿画面を持つことができます。現時点では、ブックマークレットアイテム投稿画面には対応していません。
アイテム投稿画面(テンプレートパーツ「ADMIN_ADD」「ADMIN_EDIT」)で使用できる、独自テンプレート変数
- <%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の拡張フィールドレコードコントロールフォームを出力します。(拡張フィールドの削除、追加しない、などの設定を行います。)
テンプレートパーツ「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スキン」と呼んでいますが、実際には、テンプレートしか使用していません。
Admin用テンプレートは、説明欄を「znCustomAdmin」とする必要があります。
新規で作成する場合、説明欄を「znCustomAdmin」としてください。自動的に編集画面のテンプレートパーツが独自のものに切り替わります。
Nucleus標準機能のインポート・エクスポートが可能です。
よかったら、独自スキンを作成して、公開しちゃってみてください。
そしてトラックバックくださいませ。
ありがとう
やまさん、しづきさん、masさん、動作確認ありがとうございました。
ダウンロード
変更点
- ヘッダ、フッタ、クイックメニューなど、テンプレート化の範囲を増やしました。
- <%if%>など、独自テンプレート変数を増やしました。
- テンプレートは、Nucleus標準のテンプレートで管理するようにしました。(旧版ではブログオプションで設定していた、アイテム投稿テンプレートも)
- テンプレートのインポート・エクスポートが可能になりました。(作成したテンプレート(スキンと呼んでいますが)は配布可能です。)
- サンプルAdminスキン「helium」同梱
- コア(ADMIN.php)の改造を必須にしました。
- wysiwyg廃止しました。
バージョン経歴
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。