ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

MOSコミュのトップのテンプレートを別にするのってどう?

  • mixiチェック
  • このエントリーをはてなブックマークに追加
MOSのサイト内のデザインは、全コンテンツで一貫して
同じテンプレートを使用していますよね。

でも、通常のWebサイトではトップページのデザインは
2階層目のコンテンツに比べて若干異なることが多いと思います。

これを実現させるためには、、

・HOMEにモジュールを置かないようにする
・トップページ表示専用のセクションを用意する

ということで、強引に対応できなくは無いと思いますが、
何となく『ごり押し』でスマートじゃない。


まず、この対応の必要性があるのかどうか、
そしてどうやって対応するのか、、皆さんはどう思いますか?

コメント(8)

ページによって体裁が変わることが本当にCMSなのか?という教条主義的な部分は投げっぱなしジャーマンにしておいて、ニーズはあると思います。
XOOPSなどにしても「こういうもの」として我慢していた部分があるので、なんとかして欲しいなぁ。
CMSの意味を真面目に考えると
・トップページ表示専用のセクションを用意する
が正解の気がしますが、むずかしそうだなぁ。
おそらく4.6でできるのでは。
4.6まだでておりませんが、マルチテンプレートが可能だったような...
kamkamさん
おお!それは素晴らしいです。
最近、会社のホームページをフリーのWebデザイナーの方に発注したのですが、その方がやりやすいCMSを使ってくれと言ったらMamboになりました。で、トップページとそれい以降のデザインを変えて欲しいということを伝えていたのですが、CMSの仕様上トップページだけテンプレートを変えることはできないと断られました。

で、こちらの書き込みを見て詳しく知りたくなったのですが、4.6までは待てないので

・トップページ表示専用のセクションを用意する

というのが大変気になります。
具体的にどういうことなのですか教えていただけないでしょうか。また、もしも実際にそういうことをしているサイトをご存知でしたら、是非ともうちが発注してるWebデザイナーに見せたいのですが、リンクを教えていただけないでしょうか。

例えば
http://k164.jpn.ph/
こちらのように、最悪トップを全く別HTMLにしてしまうとかも考えてますが、CMSの意味無くなってきちゃって...

Mambo以外のCMSでも、そういったマルチテンプレート可能なものをご存知であればお教えください。

よろしくお願いいたします。
ranpouさんこんばんわ

> ・HOMEにモジュールを置かないようにする
> ・トップページ表示専用のセクションを用意する

当時、何を思って上記を書いたのか覚えてませんが、、
対応方法だけご提案してみます。


index.phpに下記を追記して、Mamboのchange_template機能を使ったかのように見せる対応です。

if ($option == '' OR $option == 'com_frontpage') {
  $_REQUEST['mos_change_template'] = 'ms_teamwork';
} else {
  $t = new mosTemplate( $database );
  $t->load( 0 );
  $_REQUEST['mos_change_template'] = $t->cur_template;
}

上記を『// do we have a valid Itemid yet??』の上に記述して、
『ms_teamwork』をテンプレート名に変更します。


> 是非ともうちが発注してるWebデザイナーに見せたいのですが、リンクを教えていただけないでしょうか。

残念ながら、こちらは存じません。
ありがとうございます!

トップとそれ以外でテンプレートが確かに変更できました。

Webデザイナーさんにも説明して、トップとデザインを変更する方向ですすめてもらうことになりました。

elseででてくる$tの役割とか理解できてないのですが、他のページも、いくつかのテンプレートを切り替えるという場合は、elseifでどんどん場合分けするってことですよね?

elseif ($option == 'com_weblinks') {
$_REQUEST['mos_change_template'] = 'yops_boxed_blue_lt';
}

とかを加える感じで良いのでしょうか。
elseの$tは、管理画面からデフォルトで指定されている値を取得してセットしています。

mos_change_templateは一度リクエストを行うと、値がCookieに書き出されて、これ以降mos_change_templateをリクエストしなくても、自動的に前のテンプレートを表示させるようになっています。

よって、2階層目以降は管理画面から指定したデフォルトテンプレートを表示し、トップだけ別のテンプレートを表示させるようにするには、elseの対応が必須になるわけです。

いくつかのテンプレートを切り替える場合は、おっしゃる通り
else ifで追記していけば対応できると思います。
なるほど、ご丁寧な回答ありがとうございます。

大変助かりました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

MOS 更新情報

MOSのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング