Home> Internet >  MovableType >  StyleCatcherによリ保存された、スタイルの情報

StyleCatcherによリ保存された、スタイルの情報

テーマつながりでスタイルキャッチャーです。こちらもVicunaの機能拡張の為に調べました。
CurrentStyleプラグイン: 小粋空間」を参考に、保存された情報を調べていたのですが、うまく行かない時があるみたいです。
イロイロ調べていくと、以下の様にデータが保存されているようした。

StyleCatcher2.41(多分それ以前も同じだと推測してますが)のプラグインデータは1レコード内に、'current_theme_' + ブログID'current_layout_' + ブログIDという風に、ブログ数分格納されるようです。
ココからは便宜上ブログIDが1だとして話を進めます。
current_theme_1をプラグインから読み取ると、選択したデザインの情報が戻ります。
current_layout_1はプルダウンで選択するレイアウトの情報が戻ります。

さて、current_layout_1は、そのままscreen.cssに書いてあるlayoutsの値ですね。
しかしcurrent_theme_1の方は少し特殊なようです。

スタイルキャッチャー画面には左にカテゴリーと呼ばれる、スタイルキャッチャーリポジトリが表示されています。
調べていくとどうやら、このリポジトリの情報もあわせて保存されているようです。
以下が試した結果です。

「既存のスタイル」の「Minimalist Red」
default:minimalist-red
「MT4スタイルライブラリ」の「Minimalist White」
repo-sixapart_mt4:minimalist-white
「プロフェッショナルスタイル」の「Professional Blue」
repo-professional_themes:professional-blue
「mt.Vicunaスキン」の「Style-Galaxy」
repo-mtvicuna_skin:style-galaxy
「保存されているスタイル」の「Minimalist White」を再度適用
local:minimalist-white
「現在のスタイル」でレイアウトプルダウンを変更して再度適用
local:minimalist-white のまま保存自体が行われていない

という訳で、「:」の手前がリポジトリの情報にの様で、「既存のスタイル」の場合は「default」(yujiroさんのコードはこの場合のみが考慮されてました)、「保存されているスタイル」「現在のスタイル」の場合は「local」、その他のリポジトリの場合は頭に「repo-」を付けてリポジトリ名が続きます。
「mt.Vicunaスキン」の場合、テーマ設定で以下のようにしているので「repo-mtvicuna_skin」となります。

          stylecatcher_libraries:
            mtvicuna_skin:
              url: '{{support}}theme_static/mtVicunaSimple/'
              label: mt.Vicuna skin
              description_label: 'Styles that are compatible with the mt.Vicuna Theme.'

この事から、異なるリポジトリの場合は、別な情報として扱われます。
この情報を上手に利用すれば、ver1とver2のリポジトリがあって、同名のデザインが存在する場合でも、どちらからを適用したものか
判別が可能なようです。

また、current_layout_1に保存されている情報ですが、このplugindataの内容とは別に、blog_metaテーブルに、page_layoutとして保存されているようです。
こちらはスタイルキャッチャーを使用した場合に、同時に書き込まれるようですが、ブログの作成時にはplugindataにデータは存在せずに、blog_metaのデータのみになるようです。
どちらかというと、レイアウトはblog_metaテーブルから拾ったほうがよさそうです。

Comment:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://www.zelazny.mydns.jp/cgi-bin/MT/mt-tb.cgi/2272

Home> Internet >  MovableType >  StyleCatcherによリ保存された、スタイルの情報

CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

Feeds

Return to page top