xoops cubeに関する質問です。ページ毎にデザインを指定することは可能ですか?もし可能であれば、その方法も教えてくださーい!

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/02/01 20:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.3

回答回数595ベストアンサー獲得回数351

ポイント22pt

可能ですが、ページ単位でのデザイン変更がしたいのでしょうか?

モジュール単位で良いのでしたら、以下で紹介されている方法でモジュールごとにテーマの切り替えが可能です。

http://www.xugj.org/modules/QandA/index.php?topic_id=794

<{if $xoops_dirname == "pico"}>

<{include file="`$xoops_theme`/theme_pico.html"}>

<{elseif $xoops_dirname == "d3forum"}>

<{include file="`$xoops_theme`/theme_d3forum.html"}>

<{else}>

<{include file="`$xoops_theme`/theme_common.html"}>

<{/if}>

※上記の例では、picoの場合は「theme_pico.html」を、d3forumの場合は「theme_d3forum.html」を、その他の場合は「theme_common.html」を使用します。

※切り替え用のテーマのフォルダと上記の記述をした「theme.html」を新規作成してください。(上記で指定した各htmlファイルもその中に作成します。)

※既存のテーマを指定することも可能です。

その場合は、以下のように指定して読み込みます。

  <{include file="$xoops_rootpath/themes/テーマフォルダ名/theme.html"}>

※この場合、各テーマのHTML(theme.html等)では、「$xoops_theme」「$xoops_themecss」「$xoops_imageurl」等を使用しないでください。

現在適用しているテーマのCSSや画像のフォルダが指定されるので、デザインに反映されません。

この部分はそれぞれ以下のように置き換えると良いです。

<{$xoops_theme}>

適用させるテーマフォルダ名

<{$xoops_themecss}>

<{$xoops_url}>/themes/適用させるテーマフォルダ名/style.css

<{$xoops_imageurl}>

<{$xoops_url}>/themes/適用させるテーマフォルダ名/


(最初の方法で、各テーマ用のhtmlや画像等を、新規作成した一つのテーマフォルダにすべて入れる場合は、上記の変更は必要ありません。)


特定のページだけ変更したい場合は、以下の方法が参考になると思います。

http://www.xugj.org/modules/xpwiki/?Smarty%E5%B0%8F%E3%83%8D%E3%...

※「特定のページかどうか?」の部分ですが、他の項目も読んでみてください。


分からない場合は、どのようにデザインを変更したいのか、条件等を具体的に教えてください。(変更したいページのモジュールやページ名など・・・)

※コメント欄を明けて置いてくださるとやり取りしやすいです。

id:fm315

詳細にわたる回答、有り難うございます。

私が現在考えているのは、トップページのデザインと、各ページのデザインを変える、といったようなデザインの切り分けです。

資料を読ませていただきます!

2010/01/26 07:46:55

その他の回答3件)

id:km1967 No.1

回答回数541ベストアンサー獲得回数40

ポイント23pt

できません

http://xoopscube.jp/

id:fm315

回答ありがとうございます。できないのですね...

...、と思っていたところに、下記の通り他の方から「出来る」、との返答を頂きました。下記の記述について id:km1967さんのご意見を頂けたら幸いです。

2010/01/26 12:22:02
id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301

ポイント23pt

ちょっと(かどうかは、その人のスキルと対応にかける事の出来る時間による)面倒ですが実装は可能です。


下記の「# 1.4 動的なレイアウト切り替えの導入」の項を参照してみてください。

http://sourceforge.net/apps/mediawiki/xoopscube/index.php?title=...

なお、実装にチャレンジする前に、上記に記載されている内容を先頭の

「# 1.1 サイトのレイアウト設計」から順に再確認を行う事を薦めます。


※久々に覗いてみたら「(自分には)できません」という表明だけの投稿が目についたので、

 最後までお付き合いは出来ませんが、ヒントだけでもと思い、投稿させていただきました。

id:fm315

有用な情報下さり、有り難うございます。

資料に沿って作業をしてみます。

2010/01/26 07:44:59
id:rouge_2008 No.3

回答回数595ベストアンサー獲得回数351ここでベストアンサー

ポイント22pt

可能ですが、ページ単位でのデザイン変更がしたいのでしょうか?

モジュール単位で良いのでしたら、以下で紹介されている方法でモジュールごとにテーマの切り替えが可能です。

http://www.xugj.org/modules/QandA/index.php?topic_id=794

<{if $xoops_dirname == "pico"}>

<{include file="`$xoops_theme`/theme_pico.html"}>

<{elseif $xoops_dirname == "d3forum"}>

<{include file="`$xoops_theme`/theme_d3forum.html"}>

<{else}>

<{include file="`$xoops_theme`/theme_common.html"}>

<{/if}>

※上記の例では、picoの場合は「theme_pico.html」を、d3forumの場合は「theme_d3forum.html」を、その他の場合は「theme_common.html」を使用します。

※切り替え用のテーマのフォルダと上記の記述をした「theme.html」を新規作成してください。(上記で指定した各htmlファイルもその中に作成します。)

※既存のテーマを指定することも可能です。

その場合は、以下のように指定して読み込みます。

  <{include file="$xoops_rootpath/themes/テーマフォルダ名/theme.html"}>

※この場合、各テーマのHTML(theme.html等)では、「$xoops_theme」「$xoops_themecss」「$xoops_imageurl」等を使用しないでください。

現在適用しているテーマのCSSや画像のフォルダが指定されるので、デザインに反映されません。

この部分はそれぞれ以下のように置き換えると良いです。

<{$xoops_theme}>

適用させるテーマフォルダ名

<{$xoops_themecss}>

<{$xoops_url}>/themes/適用させるテーマフォルダ名/style.css

<{$xoops_imageurl}>

<{$xoops_url}>/themes/適用させるテーマフォルダ名/


(最初の方法で、各テーマ用のhtmlや画像等を、新規作成した一つのテーマフォルダにすべて入れる場合は、上記の変更は必要ありません。)


特定のページだけ変更したい場合は、以下の方法が参考になると思います。

http://www.xugj.org/modules/xpwiki/?Smarty%E5%B0%8F%E3%83%8D%E3%...

※「特定のページかどうか?」の部分ですが、他の項目も読んでみてください。


分からない場合は、どのようにデザインを変更したいのか、条件等を具体的に教えてください。(変更したいページのモジュールやページ名など・・・)

※コメント欄を明けて置いてくださるとやり取りしやすいです。

id:fm315

詳細にわたる回答、有り難うございます。

私が現在考えているのは、トップページのデザインと、各ページのデザインを変える、といったようなデザインの切り分けです。

資料を読ませていただきます!

2010/01/26 07:46:55
id:b-wind No.4

回答回数3344ベストアンサー獲得回数440

ポイント22pt

Xoops Users Group Japan - themechangerモジュールの使い方教えて

実は小難しいことを考えなくてもそのもののモジュールがあったりする。

id:fm315

回答、ありがとうございます!便利なモジュールがあるのですね...。

もう少し詳細な使い方が分かると尚助かります。

2010/01/26 16:14:42
  • id:rouge_2008
    こちらも参考になると思います。
    http://www.xugj.org/modules/xpwiki/?CustomizeManual%2F%E3%83%86%E3%83%BC%E3%83%9E%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BATips

    http://www.xugj.org/modules/xpwiki/?CustomizeManual%2F%E3%83%86%E3%83%BC%E3%83%9E%E6%94%B9%E9%80%A0%E3%81%A7%E5%87%BA%E6%9D%A5%E3%82%8B%E3%81%93%E3%81%A8%E3%83%BB%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8



    後は、使用しているモジュールのテンプレートも編集する必要があると思います。
    ※管理メニューでモジュールごとのメニューからも編集できますが、XCLでしたら、ALTSYSをインストールして管理するのが便利だと思います。

    http://www.xugj.org/modules/xpwiki/?ModuleManuals%2Faltsys

    http://www.xugj.org/modules/xpwiki/?%E6%AD%A3%E3%81%97%E3%81%84%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E6%96%B9%E6%B3%95
    ※空のテンプレートセットを新規作成してから編集してください。
  • id:rouge_2008
    トップページとその他のページで切り替えたいのでしたら、「トップページかどうか?」も参考になるようですね。
    <{if $xoops_requesturi == '/index.php' or $xoops_requesturi == '/'}>
    あるいは、htmlフォルダにインストールした場合
    <{if $xoops_requesturi == '/html/index.php' or $xoops_requesturi == '/html/'}>

    他には、<{if $xoops_dirname == "ディレクトリ名"}>あるいは、<{if $legacy_module == "モジュール名"}>と組み合わせると良さそうです。


    以前回答したものですが、以下も参考になるかもしれません。
    http://q.hatena.ne.jp/1245952006

    外枠はテーマを編集して、モジュールの外観はテンプレートを編集しますが、表示位置に関しては、ブロックの管理を利用します。
    ご存知かもしれませんが、参考までに・・・

    http://www.xugj.org/modules/xpwiki/?XCLBasicManual%2F%E4%BA%92%E6%8F%9B%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2F%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E7%AE%A1%E7%90%86

    http://www.xugj.org/modules/xpwiki/?XCLBasicManual%2F%E4%BA%92%E6%8F%9B%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2F%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません