wiki.zope.jp
IntroductionToPlone
   
RecentChanges WikiHelp WikiPractice JumpSearch

IntroductionToPlone

Plock, 最初のアルバム

あなたは何回コンテンツ・マネージメント・システムを構築しましたか? それらはとても簡単に構築できます。それらはすべて同じ基本的なことを行います。それは、間抜けではない人にHTMLフォームにデータを入力させたり、データベースにデータを入力させたり、Webサイトにデータを表示させたりです。多分、あなたは、コンテンツをWebサイトに公開可能とされる前に、誰かのレビューが必要であるという規約を持っていたでしょう。あなたは何回あなたのコンテンツ・マネージメント・システムを再利用可能にできましたか? Zopeは再利用を約束します。CMF、コンテンツ・マネージメント・フレームワーク・スイートは、システムを使うためにユーザが必要とするユーザ認証などの低レベルな問題と扱うことなしに、あなた独自のコンテンツ・マネージメント・システムの構築を達成するための再利用可能なコンポーネントを提供します。CMFは、あなた独自のシステムを構築可能にするために、メンバーシップ、ワークフロー、コンテンツ・オブジェクトの再利用可能なタイプを提供します。Ploneは単に、あなたがCMFサービスを動作するユーザーインターフェースとして縫い合わせる方法の現実化、です。

このインストラクションに従うと、あなたは動作するPloneのインストレーションを見つけて喜びと同時に驚きを感じることでしょう。そうでなければ、Ploneの開発者にメールしてくれれば、調整する方法を教えてくれるでしょう。一旦、Ploneがインストールされたら、次に行うべき最善のことは、物事がどのように動作するのかを理解するためにポータルを再構築することです。まず、それから始めてみましょう。

Plone Siteをインストールするには、Zopeの管理画面(Zope Management Interface:ZMI)を訪れます。ZMIへ戻って、portal_skinsツールへ行って下さい(もしツールの概観を見ている場合は、Contentsタブをクリックしてください)。それらすべてのフォルダが見えますか? それらはPloneを作っているテンプレートとスクリプトのほとんどを含んでいます。customフォルダが見えますか? それが他のフォルダとは違って見えることに注意してください。あなたはまだ何もクリックしていません。portal_skinsのPropertiesタブを見るためにタブをクリックしてください。これらのSkinの名前の全てがチェックボックスとともにあり、その右にはカンマで区切られたフォルダのIDが入力されているテキストインプットボックスがあるのが見えるでしょう。Skinがどのように働くかについては、Skinning CMF Sitesを見てください。

これであなたは、どこにSkinが集められ管理されているかについて理解したか、大雑把につかめたことと思いますので、デフォルトのロゴ(logo.png)をカスタマイズしてみましょう。フォルダがリストされていて、customフォルダが違って見えると言った、portal_skinsツールに戻ってください。customフォルダへ行って、Fileオブジェクトを作り、idにlogo.pngと入力し、あなたが持っているPNGファイルをアップロードしてください。そしてポータルへ行ってそれを見てみます。そこにロゴが見えなければ、キャッシュをクリアしてみてください。(注) この開発をしている時点では、ブラウザがどんなページもキャッシュしないように設定してください。それが出来なければ、毎回キャッシュをフラッシュする必要があるでしょう。Ploneはブラウザにキャッシュ情報を送ります。多分、キャッシュの中に古いlogo.pngがあるでしょう。キャッシュをフラッシュするのです。ページをリロードすると、ロゴがそこにあるはずです。

今度は、logo.pngをヘッダーテンプレートから追い出してみましょう。portal_skinsのContentsに戻ってください。plone_templatesをクリックして、ヘッダーのPage Templateへ行ってください。カスタムフォルダをドロップダウンメニューから選び、customフォルダへ追加します。logo.pngのためのファイルを探してください。imgタグがありますか? タグ全体を削除してください。タグ全体を削除しないとエラーになるでしょう。これはPage Templateの機能です。どの行がおかしいか教えてくれます。Page Templatesはすばらしい生き物です。Evan Simpsonがこれについての2つの文章を書きました。1つは紹介で、もう1つはより進んだ使い方に踏み込んだものです。Ploneのコード片を見ることで、Page Templateについて少し詳しく学ぶことができるでしょう。参考までにPloneはDTMLを使って始まりました。それのコピーはplone.orgのSkinsセクションに、Plone 0.1として置いてあります。

それでは、何がヘッダ、フッタと他のページ要素を1つの結合されたユニットとしているのかを見てみましょう。plone_templatesフォルダに戻って、main_templateをクリックします。たくさんのmetal:use-macroとmetal:define-slotsがあるのが見えるでしょう。テンプレートとするためのマクロ展開アプローチの全体は、最初はあなたの頭を混乱させるかも知れません。それは、PHP、JSPやColdfusionなどの動的コンテンツをレンダリングする通常のアプローチとはだいぶ違います。私は、それはよりエレガントで、後者のソリューションより再利用性が高いと思っています。またここでは、Page Templateや他のZopeオブジェクトがskins_toolを使ってどのように見つけられるのかについて最終的に説明しなければなりません。例えば、mail_templateの左側カラムにある、metal:use-macro="here/main_left_column/macros/column"を見てください。そして違うウィンドウでZMIを開いて、portal_skins/plone_ui_slotsへ行くと、main_left_columnがあるので、それをクリックしてください。それがどのように、さらに3つのマクロに展開されるかが見えるでしょう。どのようにしてこれが見つけられるのでしょう?私はそれがplone_ui_slotsフォルダにあることを意味しています。もしこれについてSkinning CMF Sitesを読んでも分からなければ、簡単に説明します。基本的に、skin(portal_skins->Propertiesにあるskinのパスの順に定義されますが)はその順にスタックされ、オブジェクトを探します。そして、logo.png(今はcustomにありますよね?)がブラウザによってリクエストされると、まずcustomでオブジェクトを探し、次に他のフォルダ、そして完全なskinpathが見つかるまで他の中を捜します。どのフォルダにも見つからなければ、NotFound例外を投げます。

これで、あなたはcustomフォルダの中へオブジェクトをカスタマイズする方法を知りました。また、skinのためにskinpathの中にフォルダを作れることを理解し、それらはオブジェクトIDにしたがって(順番に)検索されます。あなたはスタイルシートをカスタマイズする準備が出来ています。

Last edited Sat, 09 Sep 2006 22:02:14 +0900 Edit this page