Imagesフォルダがなかったので作る

あ~、ダメダメです。CSSいじろうにも同じ箇所の同じスタイルを書いたり消したり。完全に糞詰まり状態。最近CSSをいじっていないので書きたい・いじりたい欲求はあるものの、空回りしてばっかり。

他ごとをやるに限る。

そういえばmoblogの話題がMLに流れてたときにふと思った事があった。

「ワシのCOREBlog2フォルダ直下にはImagesフォルダが無い…(゜д゜)y\〟」

うーむ、確かにテスト環境でCOREBlog2をインストールしてみると、StuffとImagesという2つのフォルダが生成されている。むかーしむかしはCOREBlog2をインストールするときStuffフォルダは生成されてもImagesフォルダは生成されなかったのかな。まぁどういうことかはよくわからないけれども、Imagesフォルダがないことは確かだ。

ところが、新規追加しようと思ってもここには「エントリ」以外は追加されないようになってる。困った…。どうすればいいんだ…。

と、そんなことをmoblogの話題を読みながら考えていた。

それから幾ばくかの月日がたち、記憶の彼方に飛んでいってしまっていた、そんなある日。ZJIでPlone Developer Referenceなんてのがあって、眺めてみたりしていた。ここでポイントになるのは「眺めていた」ということである。プリントアウトして地下鉄でうつらうつらとしながらも手に取ってみたのだけれど、何だかむずかしそうなことが書いてあって、読もう読もうと思ってはみたものの、とにかくちんぷんかんぷんである。

しかし、そういえばその中に「Restricting addable types」なんてのがあったなぁ、と思いだし、確認してみると、確かにあった。

ーーーーーーーーーー

5.1.3追加できるタイプを制限する

タイプを制約する機構、そしてそれがどのようにして「新規アイテムを追加」メニューの「restrict...」オプションを動かすのか

Plone2.1と同様、「新規アイテムを追加」メニューは「restrict...」ページをサポートしています。これはユーザに、どんなアイテムをそのフォルダに追加できるか/できないかを決めさせることができます。この機能は「CMFPlone.interfaces.constrains」内の「IConstrainTypes」および「ISelectableConstrainTpes」というインターフェイスのペアによって決定されます。

これらのインターフェイスの正規の実装は「ATContentTypes.utils.constraintypes」内にあります。これは制約モードのためのストレージ、ローカル内で許されるあるいは「優先される(preferred)」タイプのリストを提供します。この「優先される」タイプはリストに現れ、残りのうち許可されたタイプは「more...」アイテムの裏に現れます。

タイプ制約モードはACQUIRE(デフォルト)、DISABLED、ENABLEDができます。disabledの場合、portal_typesの設定が使用されます。enabledの場合は、明示的にセットされたタイプのリストが使用されます。acquireにセットされた場合は、「もし親フォルダが当該フォルダと同じポータルタイプであれば」、親フォルダのタイプが使用されるでしょう。親フォルダと当該フォルダのタイプが異なる場合はportal_typesの設定が適用されます。

ConstrainTypesMixinの残りのクラスは、この制約の効力を保証するため、CMFCoreのallowedContentTypesとinvokeFactoryメソッドを上書きします。

ーーーーーーーーーー

と、いうことで。

雰囲気は何となくつかめた。気がする…。

要するにフツーはportal_typesの設定をいじればよいのだな。

portal_typesをのぞいてみると様々な種類のアイテム設定がならんでいる。で、COREBlog2の設定を見てみると、おー、「Allowed content types」なんていう項目があるではないか。たしかに現状では「COREBlogEntry」だけが選択されている。今はImagesというフォルダを追加しようとしているわけだから、「Folder」を選択すればいいのかな…。

許可するタイプを選択

どきどきしながら「新規アイテムを追加」をしてみると…

できたっヾ(゜∀゜)/

フォルダを追加できるようになった

ようやく人並みのフォルダ構成になりました(・∀・)

カテゴリ
COREBlog2 COREBlog2
Plone Plone
トラックバック用URL:
http://nagosui.org/Nagosui/COREBlog2/restricting-addable-types/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (12)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
浜松ブラスバンド定期演奏会2008 nyusuke 2008年11月24日
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
最近のコメント
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日