サイトを CMFで構築するにあたり、まずは、既存の skinを改造することになると思います。しかし、その機能が実際に自分に必要なのかどうかわからないまま、見た目だけ変えたのでは、どうもわかり難いと感じました。(必要な機能を加えるよりも、不要な機能を削除するほうが困難)
そこで、まず、最低限の機能を持った skinをつくり、必要ならばその
skinに機能を付け加えていけるもの、また CMFの理解の助けになるものを目指しました。
CMFDefaultのサイト(CMF Site)を前提に作成しました。考え方は Ploneでも使えると思いますが、この skinがそのまま Ploneで使えるかどうかは試してません。
portal_skins に front.zexpをインポートします。(すると、front というフォルダが作成されます。
portal_skins のPropertyiesタブで、Name=[Front] Layers=[front] というSkinを Addします。次に、Default skinで[Front]を選択します。
http://www.example.com/cmf に CMF Siteを作ったとすると、 http://www.example.com/cmf/login_form からログインすると、Basic skin に切り替わり、そこで、コンテンツの配置、Publishができます。今回作成した skinに戻るには、Basic skinの中で Preferecneの中の skin を「Front」に戻します。
protal_skins の「custom」フォルダに、'logged_out'という名前で、以下のようにカスタマイズした DTML Method を入れておくと、Basic skinから「Logout」すると、自動的に、Front skinに戻ります。
| <dtml-if "portal_membership.isAnonymousUser()"> <dtml-call "REQUEST['RESPONSE'].setCookie('portal_skin', 'Front')"> </dtml-if> <dtml-with expr="portal_url.getPortalObject()"> <dtml-call "REQUEST['RESPONSE'].redirect(_['absolute_url'])"> </dtml-with> |