テンプレートとしてページタイプをカスタマイズする際のブロックの並び順

2010年8月8日 at 14:57

こんにちは。

ただいま、ページタイプをテンプレートとして利用しようと
カスタマイズ中です。

例えば、Aというページタイプを作成し、それを利用して
何ページか作成した後に、Aに追加事項が発生した場合、
ページタイプを編集し、ブロックを追加・表示位置の変更、
「子ページの設定」をすることにより
既存のページへの追加も同時に更新ができます。

が、既存のページを確認してみますと、
確かに追加ブロックは追加されているのですが、
既存のページではページタイプで設置した位置とは違い、
下のブロックに追加されていました。

ちなみにAを使用して新規ページを作成した場合はページタイプと同じでした。


ページタイプをテンプレートとして使用するのであれば、
既存のページにも追加ブロックが表示の有無だけでなく、
表示される位置も反映してほしいのですが、
それは可能でしょうか?

何かいい方法があれば教えてください。
よろしくお願いいたします。

Re: テンプレートとしてページタイプをカスタマイズする際のブロックの並び順

2010年8月10日 at 16:22
どうもです。

この問題は chekihiro さんの

● 一番上にブロックを追加する。
http://concrete5-japan.org/community/forums/development/post-821/

にちょっと似た問題要素が含まれています。




上記ポストと同じように・・・完全な答えではありませんが・・・

・エリアの上に、更新情報専用のエリアを作成する
・更新情報を記事ブロック1つにまとめて、その記事ブロック内で行う(ここの公式サイトの方法)

そして、あまり完全な解決方法ではありませんが・・・

・1ページ内のブロックの数を限定する(余分なブロックは容赦なく削除)



ページタイプのデフォルト新規ブロックが、子供ページの最後にしか追加されないことは、自由にブロックを動かせることが出来る concrete5 ならではの「自由さ」が不自由を生んでいるからです。

子ページによって、いろいろなブロックが配置されているので、デフォルトページタイプで2番目のブロックであっても、子ページによっては、他のブロックがあったりして、重複エラーが発生するからです。

もちろん、本家ではこのことを認識しています。

が、上記のように、「ページによって、該当ブロックが2番目、3番目とバラバラになってしまう」という問題をどう克服するかに時間がかかっているという次第です。



プログラマーさんで、解決パッチを提案してくださる方、大歓迎です。
 

Re;「Global Area」という新発送

2010年8月11日 at 18:59
どうもです。

中間報告です。

8/7に、本家のフォーラムでは「グルーバル・エリア」という考えがユーザーさんから上がっていて、現在もコアーメンバーとユーザーさんとの間で話し合いが行われています。

http://www.concrete5.org/community/forums/usage/a-new-approach-to-andquotglobal-areasandquot-better-than-page-de/

ページタイプとは違って、エリアでもテンプレート的なアプローチが出来ないかとの議論をしています。

これは、とあるエリアを、サイト全体で共通のエリアと定義して、そこに配置してあるブロック群は、どこのページで編集や並び替えを行っても、他のすべてのページに変更が反映されるという仕組みです。

まだ次期バージョンに組み込まれるとは決まっていませんが、本家では幸いった議論も行われています。

※英語ができるかたは是非、議論に参加されてみてください。