スペシャルスキンパーツを作る

Nucleus CMS のバージョン 3.3 が解説本の販売に合わせて公開されました。3.3 の機能として以前から話題になっていたスペシャルスキンパーツ。自分もずっと望んでいた機能なんで興味深くチェック中。

解説本に説明が掲載されてますが、documentation 等にはのってなくて、パーツを作るのは速攻だったけど適用の仕方でちょっと迷いました。通常、クエリ ?special=skintype を URL に付加すると適用されます。FancyURL の場合は extra に special ってファイルがあるから、URL/special/skintype っていう具合になります。だから、スペシャルスキンパーツ名イコール URL (ファイル名)ですね。


自分は今まででも、このスペシャルスキンパーツと同じような考えで、どんどん新しいスキンを作って、表示ファイル側にコード selectSkin(スキン名) って一行書く事で静的ページを作ることをさんざんやってたので、そのへんがキレイに整理される筈。NP_ExtraSkinJP を使う方法もよく知られてて、自分も以前は使ってましたけど、ある時期から別スキンと外部ファイルのインクルードで済ますようになってました。

あと URL 生成関係のプラグイン等を利用せずに、このスペシャルスキンパーツで作ったスキンを適用したページを、special のクエリ無しに好きな URL にするには、index.php の複製つくって(ファイル名はなんでも良いのですが、便宜上、スペシャルスキンの名称にします)selector(); の前に、

$_REQUEST['special'] = 'newspecialskinpartsname';

といれると、内容は Nucleus のスキン管理画面で編集できる静的ページができます。

あと試しにファイル側で $itemid を指定しても、個別アイテムページスキンにならず、item 表示ができるわけではないらしい。スペシャルスキンパーツは優先順位が高いということらしい。blogid は指定しない場合にデフォルトブログを表示可能で、スキンパーツのフォーム下に blog 変数はなかったけど使えちゃうみたい。

その他 Nucleus CMS 3.3 の新機能

変数 bloglist 等が使えること。 bloglist も新機能で、テンプレート側にその設定フォームが増えてますね。

スキン変数の elseif が使えること。ifnot もあるので、イレコ if でわけがわからなくなっていた状況がかなーり改善されるに違いない。

表面上に関わる箇所ですぐ気づいたのはこのくらいだけど、内部的にかなり変わってる箇所もあるらしい。

そんなこんなで作業がつまってない時間には、各所のアップデートを試みることにします。

2007年05月06日 13:02 | Nucleus | ichiro