すべてのページに同じブロックかスタックを追加したい

2012年4月1日 at 16:52

既存の全てのページにスタックかブロックを追加したいと思っています。

サイトを構築する際に、スタックとかグローバルエリアとかを考慮しておればよかったのですが、そのような機能をしらなかったので、一つ一つ追加しなくてはなりません。

データベースを直接変更するとかの荒療治でもいいのですが、単純な手間なく、プログラムを作っての方法とかで、追加する方法はないでしょうか。

タグ:

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月1日 at 18:24
ページタイプのデフォルトの編集画面で、ブロックを追加します。追加したブロックをクリックするとメニューに「子ページ設定」があると思います。開いた画面で、複数のページに一括でブロックを追加できます。

あるいは、テーマにグローバルエリアを追加してしまうのが一番楽だったりします。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 12:33
ページタイプのデフォルトの編集画面で、ブロックを追加できません。
やりたいことは、tomoacさんと同じで、既存の全てのページにブロックを追加したいのです。

やったことは、ページタイプ>左サイドバー>デフォルト>編集 までです。
ここで、ブロックを追加したいのですが、追加ボタンが現れません。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 12:37
adminでログインして試してもらえますか?ページタイプのデフォルトへの追加は、管理者でないとできないようです。
 

Re: Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 19:22
admin でログインしたらブロックを追加出来ました。
ですが、「子ページの設定」画面で、ページが全部表示されません。
つまり、作り込んだページがすべて表示されていないので、子ページの設定ができないのです。

テーマにグローバルエリアを追加する方法もあるそうですが、具体例はありますか?
 

Re: Re: Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 20:19
たとえばMainエリアをグローバルエリアにする場合は

$a=new Area('Main');
$a->display($c);

となっているところを

$a = new GlobalArea('Main');
$a->display();



に変更します。

それをすべてのページタイプに記述します。

あとは通常通りMainエリアにブロックを追加すれば自動で他のページにも反映されます。

下記の3にヘルプが書かれています。ご参照ください。

http://concrete5-japan.org/help/design/theme-design-basic-seminar/


※ $cを間違えて記述していたので修正しました。すみません。。。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 20:26
これまた感激!

次回勉強会で詳しく教えてくれませんでしょうか。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月10日 at 21:44
うまく追加出来ました! 感謝です!!

そういえば、神戸の勉強会で教えて頂いた内容でしたね。

すっかり、忘れていました。申し訳ございません。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月11日 at 0:05
えっと補足ですが、グローバルエリアの指定は


$a = new GlobalArea('Main');
$a->display($c);


ではなく、


$a = new GlobalArea('Main');
$a->display();


なんです(2行目に$cが無い)。
まあ、あっても動くみたいですが。何の変化なんでしょうねぇ。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月1日 at 19:04
おおーーーー。すんげい!

すごく感激しました。動作確認できました。

だめもとで投稿しましたがよかったです。

これは、ひろくアピールしましょうよ。
 

Re: すべてのページに同じブロックかスタックを追加したい

2012年4月1日 at 20:35
これはconcrete5の分かりにくい機能の一つですね。ちゃんとヘルプに書かないといけないのですが…。