2012-01-02 12 views
1

私はJoomla 1.7で開発されたウェブサイトを持っています。私はバックグラウンドを他のページではなくホームページにのみ保持したい。背景画像を変更する

コードはこのようです。

HTML

<body> 
<div id="wrapper"> 
    all content goes here 
</div> 
</body> 

CSS

body{margin:0px; padding:0px;} 

#wrapper{background:url(../images/bg-img.jpg) repeat-x;} 

答えて

1

Joomlaはテンプレートから同じindex.phpを使用しているため、これらのメソッドはどれも動作しません。そのため、サイトのすべてのページにCSSクラスまたはIDが含まれています。

あなたにとって幸運なことに、Joomlaはこれを考慮に入れて、あなたのテンプレートに簡単な変更を加えることで簡単にやり遂げることができます。 Joomlaは、ページクラスの接尾辞と呼ばれるものを使用して、ページ固有のCSSを作成できるようにします。メニュー項目を作成するたびに、そのメニュー項目内のページにのみ追加されるページクラス接尾辞を含めることができます。あなたがやろうとしているものを達成できるように、bodyタグにその接尾辞を置くためには、テンプレートであなたのindex.phpにこのコードを追加します。

<?php 
$app = JFactory::getApplication('site'); 
$params = & $app->getParams('com_content'); 
$pageclass = trim($params->get('pageclass_sfx')); 
?> 
<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>"> 

メニューにページクラスの接尾辞を追加する場合アイテムの場合、ボディタグIDとして挿入されます。そうしないと、代わりに「デフォルト」が使用されます。このようにして、ページごとにボディのIDとサイトのすべてのページに固有の男性の変更を制御できます。

+0

ブレントありがとう、これは本当にスマートな答えなので、私が欲しいものです。 – RoyalEnfy

0

"homepage_wrapper" のIDを持っている、(だけ自分のホームページ上)は、第2のラッパーを作成し、設定するためにCSSを使用その背景。

+0

ホームページでセカンドラッパーを設定するにはどうすればよいですか? – RoyalEnfy

1

bodyIDを指定し、そのページにcssを定義します。このよう

HTML:

<body id="home"> 
<div id="wrapper"> 
    all content goes here 
</div> 
</body> 

CSS:

#home #wrapper{background:url(../images/bg-img.jpg) repeat-x;} 
#wrapper{background:red} 
+0

このCSSはすべてのページで同じままです。つまり、すべてのページに背景イメージが残っています。あなたはそれを説明することができます – RoyalEnfy

+0

背景画像は#homeページ#wrapperでのみです – sandeep

0

あなたはそれにも同様にクラスを使用することができます。

<body> 
<div id="wrapper" class="home"> 
all content goes here 
</div> 
</body> 

CSS:あなたは.homeクラスのプロパティを上書きします(#wrapper)の背景を使用する場合

#wrapper{} 
.home {background:url(../images/bg-img.jpg) repeat-x;} 

ので、あなたがバックグラウンドを使用することを確認してください(.home)クラス

+0

私はjoomlaを使用していることを意味するCSSはすべてのページで同じに残る、つまり、すべてのページには、背景画像が残ることを意味します。あなたは、あなたのアイデアを説明して、背景イメージを変えてください。 – RoyalEnfy

+0

あなたはこのクラスをホームページに入れることができます。