Home > Information > Nucleus:スペシャルスキンパーツの使い方

Nucleus:スペシャルスキンパーツの使い方

個別ページを作るときや、トップページだけデザインを変えたいときなどにお役立ちな
スペシャルスキンパーツですが、意外と存在自体が知られていないようだったので、
使い方をまとめてみます。便利ですよ。

概要

「メインの目次ページ」とか、「個別アイテムページ」といったスキンの種類(スキンタイプというか)を拡張し、
「(任意の名前)」というスキンタイプを作る機能です。

作り方

レイアウト設定>スキン編集 から、スペシャルスキンパーツを追加したいスキンの
「編集」リンクをクリック。
「スペシャルスキンパーツ」のフォームから、作りたいスペシャルスキンパーツ名を
半角英数字で入力。あとは他のスキンと同様、スキンの内容を書き込みます。
通常は、「メインの目次ページ」や、「個別アイテムページ」などのスキンのコピペで良いでしょう。
いくつかスペシャルスキンパーツ上で使えないスキン変数がありますので、
「使えるスキン変数」の項目を確認して書き換えてくださいね。

尚、ifでの分岐は、
<%if(skintype,スペシャルスキンパーツ名)%><%endif%>
でok。コア単体で条件分岐できますよヽ(・ω・)ノ
ヘッダ部分を分割して、ifで分岐している場合などの書換えにどうぞ。nc.Vicunaでは今のところこの追記が必要です、スペシャルスキンパーツ導入の際はご注意ください~。

使えるスキン変数

adminurl, archivelink, bloglist, category, charset, else, elseif, elseifnot, endif, if, ifnot, include, loginform, member, nucleusbutton, otherarchivedaylist, otherarchivelist, otherblog, parsedinclude, phpinclude, plugin, referer, searchform, self, set, sitevar, skinfile, skinname, todaylink, version
ブログ記事などの呼び出しが全て「other~」の形式になっていることに注意。
一部記事表示系のプラグインが、スペシャルスキンパーツ上で動かないことがあるみたい。
とりあえず、うちではNP_Multiplecategoriesを使ってますが、これは問題無し。

作ったページの呼び出し方法

example.com/index.php?special=スペシャルスキンパーツ名(&blogid=スペシャルスキンパーツ付きスキンを割り当てているブログのID)
といった書式になります。
なお、カッコ()付きの部分は、グローバル設定でスペシャルスキンパーツ付きスキンを
標準のスキンに設定しているブログを「既定のブログ」に設定している場合、
省略が可能です。

以下、うちのサイトでの例。
スキン「vicuna」にスペシャルスキンパーツを追加して、
既定のブログに、vicunaを標準のスキンに設定している「Citrocube」ブログを設定してあります。

normal
ttp://citrocube.com/index.php?special=portfolio
(迷う人が居ると困っちゃうので、リンク切ってあります)
fancy
ttp://citrocube.com/special/portfolio/

スキンタイプを増やす…とはいえ、今のところ、
スキンタイプに属するパラメータというものがないので、
(「個別アイテムページ」に属するitemIDみたいな)
単一ページを作る機能しかありません。多分。(未検証)

今のところ気がついている仕様と不具合

  • 単独ページを作る、というよりも、スキンタイプを拡張する、の方が仕様上のとらえ方として正しいようです。
  • 「special=スペシャルスキンパーツ名」が必要とするパラメータは、「blogid=ブログのID番号」。

そのブログIDに割り当てられたスキンのスペシャルスキンパーツを呼び出しします。
省略した場合は、グローバル設定の「既定のブログ」で設定されているスキンに、
スペシャルスキンパーツを探しに行きます。見つからない場合は「スキン エラー」表示。

  • NP_ShowBlogsは非対応

ShowBlogsはblog互換、otherblog非互換なため、動きません。自分も困っておりまして、他にページスイッチをつける事が出来るプラグインを捜索中です…。>NP_PageSwitchが動くみたいです。前ブログでコメントを下さった方、ありがとうございます。

  • インクルードのパスが上手く通らないことがある?

うちのサイトでは起こっていないですが、そういう事があるみたい。
スペシャルスキンパーツの使い方メモ:iq.Everydays
vicuna仲間ヽ(・ω・)ノ
Include Prefixの設定が間違っているか、ブログの設定もしくはグローバル設定で設定されていないスキンにスペシャルスキンパーツを追加しているか、どちらかがあやしいです。
グローバル設定、ブログの設定共にVicunaを設定している私のブログですが、vicunaスキンに追加したスペシャルスキンパーツについては特に問題なかったです。

参考にうちの設定。

  • スキン名:vicuna
  • タイプ: text/html
  • Includeモード: skindirを使う
  • Include Prefix: vicuna/

おまけ

*トップページを個別ページにする

index.phpに、

if (!count($_GET)) $_GET['special']='スペシャルスキンパーツ名';

の一文を書き加えるといいみたい。
こうすると、Nucleusのトップページが表示された際には上のスペシャルスキンパーツが、
何かパラメータを持った状態で「メインの目次ページ」が表示される条件の場合には、
「メインの目次ページ」スキンが表示されます。

引用元:
http://japan.nucleuscms.org/bb/viewtopic.php?t=3421

*URLから「special」の文字を除く

こちらの記事にやりかたが書いてあるようですヽ(・ω・)ノ
The Trap of Web Design:スペシャルスキンパーツを作る
自分はそのまんまなので試していないのですが、気になる方はゼヒゼヒ。

*nc.Vicunaでスペシャルスキンパーツを使う

以下の手順で簡単に使えるようになります。

  1. スペシャルスキンパーツを作成。「メインの目次ページ」or「個別アイテムページ」スキンのソースをコピペ。
  2. head.incに以下のソースを追加します。日本語部分は適宜修正を。

<%if(skintype,スペシャルスキンパーツ名)%>
<link rel="alternate" type="application/xml" href="<%sitevar(url)%>xml-rss2.php" title="RSS 2.0" />
<link rel="alternate" type="application/atom+xml" href="<%sitevar(url)%>atom.php" title="Atom cite contents" />
<link rel="contents" href="<%archivelink%>" title="<%blogsetting(name)%> Archives" />
<link rel="stylesheet" type="text/css" href="<%skinfile(styles-site.css)%>" />
<meta name="description" content="ページの説明" />
<title><%blogsetting(name)%> - スペシャルスキンパーツ名</title>
<%endif%>

あとは自由に書換えすればokです。xhtmlの構造を壊さないように注意してくださいね。

comment closed:
このアイテムは閲覧専用です。コメントの投稿、投票はできません。

Home > Information > Nucleus:スペシャルスキンパーツの使い方

Search
works
Feeds

Page Top