Personal tools
Navigation
About this blog
なごすいぶろぐ。「すべてはなごすいのために」。
Categories
COREBlog2 (29)
Zope (59)
Linux (26)
Misc (47)
Nagosui (11)
ReadingCOREBlog (7)
Plone (74)
Python (17)
Turbogears (18)
COREBlog1 (30)
moblog (5)
Django (12)
Recent entries
ALAにJeffさんの記事が。 nyusuke 2007-06-14
WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007-05-29
東海Python Workshop 01終了 nyusuke 2007-05-27
東海Python Workshop 01が開催されます nyusuke 2007-05-13
管理画面からみるPlone3.0ベータ(後半) nyusuke 2007-05-03
Recent comments
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007-06-01
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007-05-31
Re:東海Python Workshop 01終了 nyusuke 2007-05-31
Re:東海Python Workshop 01終了 kfuruhata 2007-05-30
Re:管理画面からみるPlone3.0ベータ(前半) nyusuke 2007-05-03
Recent trackbacks
Plone Captcha 1.0.2 と Plone Captchas 1.0 takalog 2007-01-13
plone 2.5.2-rc1 にアップグレード takalog 2007-01-05
Vine Linux 4.0 にアップグレード(その1) takalog 2006-11-26
オハイオ州日本語サイトを手かけ始めた ロバートのブログ 2006-08-14
TurboGears関連記事 Twisted Mind in TurboGears 2006-08-06
Recent Changes
All recent changes…
Amazon Items






Adsense
Document Actions

Ploneのスキンをカスタマイズしていこうじゃないか3

DIYPloneStyleを使ってスキンプロダクトを作ってみようじゃないか

by nyusuke posted at 2006-02-21 03:02 last modified 2006-08-06 17:38

のおおおおおおおおおおおおおおおおおおおおおおおおおお!!!
せっかく書いたナガーイエントリが消えちゃったよおおおおおおおおおおおおおおおおおおおおおおおおお!!!


取り乱して失礼いたしました(´ω`)

エントリのIDに不適切な文字が使われていたため、BadRequestとなって下書きが全部消えました…

こんないじわるに負けてたまるか!くるりのばらの花をヘビーローテーションだ!←何故か眠くならない

で、ようやく本題にはいるわけですが、前回まででCSSのカスタマイズはキリがついたことにして、今回はこれをプロダクト化していきたいと思います。カスタマイズしたスキンをプロダクトにするプロダクト(ややこしい)には「DIYPloneStyle」とか「qPloneSkinDump」なんかがありますが、今回はDIYPloneStyleを使ってみたいと思います。

実際に使ってみる前にこの二つのプロダクトについて比較してみたいと思います。

DIYPloneStyle
機能はあまりないけれど、いろんなバージョンのZope/Ploneで動く予感がする。基本的にプロパティとCSSと画像のみを扱うことができる。テンプレートなんかはダメくさ?よくわからないけれどmain_templateはダメでした。テンプレートをいじらないようなスキンをつくる場合にはちゃちゃっとできて便利かな。
qPloneSkinDump
高機能だけど、動作する環境が限られそう。とりあえずZope2.9はNG。 機能が豊富で、テンプレートなんかも扱える。それからポートレットも扱えるので、例えば作成者の意図したポートレットのみを表示させるなんてこともできる(もちろん利用者の利用したいポートレットを優先することも可能)。またCSSレジストリをサポートしているので、作成時のCSSのオン・オフを組み込むことができる。例えばカスタマイズしたときにpublic.cssがオフになっていたとしたら、生成されたプロダクトをインストールすれば勝手にpublic.cssがオフになる。
と、テキトーにまとめたところでいよいよ使ってみましょう。DIYPloneStyleをダウンロード・解凍したら、Zopeインスタンスのプロダクトフォルダに入れます。まだZopeをリスタートしたりしちゃダメですよ

で、DIYPloneStyleにはgenerator.pyというスクリプトがありますので、まずはこれを使ってスキンプロダクトの骨組みを作ります。以下のようにしてやりましょう。ここではSpreadFirefoxを真似っこしたSpreadPloneというスキンを作ることにしますので、最後のプロダクトネームのところは「SpreadPlone」としています。

python Zopeインスタンスホーム/Products/DIYPloneStyle/bin/generator.py --productname SpreadPlone

Windows環境の人はProductsフォルダの外側から行ってください(何故かは知らないけど…そう書いてあるんだもん…)

そうすると、なんとSpreadPloneというプロダクトフォルダができてます!

060221_0.gif

まだZopeをリスタートしたりしちゃダメですよ

で、このフォルダの中身はどうなっているかというと、↓こんな感じになっています。

060221-1

このフォルダの中にカスタマイズしたものたちを入れてやるわけです。今回の場合で言えば、いくつかの画像と、CSS、テンプレートをいじったわけですが、main_templateはダメくさなのでそれ以外のものを入れます。

画像はそのまま入れてやります。

060221-2

CSSは、生成されたspreadplone.css.dtmlに記述してやります。spreadplone.css.dtmlはデフォルトでは以下のようになっていますので、真ん中のところにploneCustom.cssに記述したスタイルをぶちこんでやればいいわけです。

/*
  This file is based on the ploneCustom.css.dtml shipped with Plone.

  <dtml-with base_properties> (do not remove this)
  <dtml-call "REQUEST.set('portal_url', portal_url())"> (not this either)
*/

/* YOUR CSS RULES START HERE */



/* YOUR CSS RULES STOP HERE */

/* </dtml-with> */

/* Latest version of the documentation on pre-defined properties from Plone
   can be found in CMFPlone/skins/plone_styles/ploneCustom.css */

今回はプロパティは全くいじりませんでしたが、プロパティを変更したときはbaseproperties.propsファイルに記述していけばいいようですね。たぶん…。

さぁ準備はできました。満を持してZopeをリスタートしてやりましょう。それでもって新しいPloneインスタンスを作って、サイト設定を見てみます。すると…

060221-3

キターヾ(゜∀゜)/

こいつをインストールしてやると以下のようなメッセージが出てきます。

060221-4

今回はCSSの条件付けやらプロパティやらは設定してないのでThere are no~とか出てますが、気にしない方向で。portal_skinsを確認してみると確かに見えますね↓。

060221-5

ただし!これだとサイトはぐちゃぐちゃです。テンプレートは元のままだし、カスタマイズしたときにオフにしておいたpublic.css, columns.css, portlets.cssがオンになっているからです。

ですので、カスタマイズしたサイトのmain_templateをコピー&ペーストし、portal_cssへいって、public.css以下3つのCSSをオフにしてやります。これでOK。一応…。

わからないこと:

  • DIYPloneStyleはテンプレートいじれないの?
  • DIYPloneStyleは既存のCSSのオン・オフはいじれないの?

DIYPloneStyleのチュートリアル訳したはずなのにわかってないのは仕様です、見逃してくださいorz…。調べるのめんどくさいな…。誰か教えてくれないかな…。むしろデヴキャンではDIYPloneStyle捨てて、qPloneSkinDumpを使いそうな勢い…。

ということで次回はqPloneSkinDumpを使ってSpreadPloneスキンプロダクトを作ってみましょう。

Category(s)
Plone Plone
The URL to Trackback this entry is:
http://nagosui.org:8080/Nagosui/COREBlog2/plone-skin-customizing-firefox-clone-3/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
Enter the word