SmartyとCSSをつかって、Xoopsでも、現在ページがハイライトするメニューの作り方。ロールオーバー付き。 #xoops |
||
|
Xoopsの場合、theme.htmlがひとつしかないので、 結論から言ってしまうと、 まず完成品から。このサイトでは、d3forumのforumを上メニューに置いて、 上メニューのページへ移動したとき、 用意する画像メニューにつかう背景画像です。
ロールオーバー時の画像と合わせて一枚にしているので、 サンプルhtmlコードモジュールのURLを表示している時だけ、
<div id="main-menu">
<ul>
<{if $xoops_requesturi == '/'}>
<li id="top-now"><a href="<{$xoops_url}>">トップページ</a></li>
<{else}>
<li id="top"><a href="<{$xoops_url}>">トップページ</a></li>
<{/if}>
<{if $xoops_requesturi == '/modules/d3forum/'}>
<li id="d3forum-now"><a href="<{$xoops_url}>/modules/d3forum/">掲示板</a></li>
<{else}>
<li id="d3forum"><a href="<{$xoops_url}>/modules/d3forum/">掲示板</a></li>
<{/if}>
<{if $xoops_requesturi == '/modules/d3blog/'}>
<li id="d3blog-now"><a href="<{$xoops_url}>/modules/d3blog/">ブログ</a></li>
<{else}>
<li id="d3blog"><a href="<{$xoops_url}>/modules/d3blog/">ブログ</a></li>
<{/if}>
<{if $xoops_requesturi == '/modules/pico/'}>
<li id="pico-now"><a href="<{$xoops_url}>/modules/pico/">ページ</a></li>
<{else}>
<li id="pico"><a href="<{$xoops_url}>/modules/pico/">ページ</a></li>
<{/if}>
</ul>
</div>
サンプルCSSコードCSSは特に変わったことはありません。
/* ヘッダーメニュー
--------------------------------------------------*/
div#main-menu{
width: 800px;
height: 40px;
margin: 0;
padding: 0;
}
div#main-menu img{
margin: 0;
padding: 0;
display: block;
}
div#main-menu ul{
list-style: none;
margin: 0;
padding: 0;
}
div#main-menu li{
display: block;
float: left;
height: 40px;
text-indent: -9999px;
margin:0;
padding: 10px 0 10px 0;
}
div#main-menu a{
background: url(../../images/main-menu.gif);
background-repeat: no-repeat;
display: block;
text-decoration: none;
/* ¥*/ overflow: hidden; /* */
}
/*トップページ
------------------------*/
div#main-menu li#top a{
background-position: 0px 0px;
width:80px;
height:40px;
}
div#main-menu li#top a:hover{
background-position: 0px -40px;
width:80px;
height:40px;
}
div#main-menu li#top a:active{
background-position: 0px -40px;
width:80px;
height:40px;
}
div#main-menu li#top-now a{
background-position: 0px -40px;
width:80px;
height:40px;
}
/*掲示板
------------------------*/
div#main-menu li#d3forum a{
background-position: -80px 0px;
width:120px;
height:40px;
}
div#main-menu li#d3forum a:hover{
background-position: -80px -40px;
width:120px;
height:40px;
}
div#main-menu li#d3forum a:active{
background-position: -80px -40px;
width:120px;
height:40px;
}
div#main-menu li#d3forum-now a{
background-position: -80px -40px;
width:120px;
height:40px;
}
/*ブログ
------------------------*/
div#main-menu li#d3blog a{
background-position: -200px 0px;
width:100px;
height:40px;
}
div#main-menu li#d3blog a:hover{
background-position: -200px -40px;
width:100px;
height:40px;
}
div#main-menu li#d3blog a:active{
background-position: -200px -40px;
width:100px;
height:40px;
}
div#main-menu li#d3blog-now a{
background-position: -200px -40px;
width:100px;
height:40px;
}
/*ページ
------------------------*/
div#main-menu li#pico a{
background-position: -310px 0px;
width:110px;
height:40px;
}
div#main-menu li#pico a:hover{
background-position: -310px -40px;
width:110px;
height:40px;
}
div#main-menu li#pico a:active{
background-position: -310px -40px;
width:110px;
height:40px;
}
div#main-menu li#pico-now a{
background-position: -310px -40px;
width:110px;
height:40px;
}
参考URLこちらのページに、Smartyをつかった小技がたくさん紹介されています。 関連する記事 |
||