suin.io

メインメニュー、アクセス中のモジュールをハイライトしたい

suin2006年6月8日

現在アクセス中のモジュールのメニューを違うスタイルにしたい場合に有用です。以下のスクリプトは以前www.xoops.orgで公開されていたものを、著者がテンプレートのみで対応できるよう、改変したものです。

モジュール :: システム管理(system)
編集テンプレート :: system_block_mainmenu.html

編集後

<{php}>
$mod = $GLOBALS['xoopsModule'];
$dirname = (isset($mod) ? $mod->getVar('dirname') :'system');
$this->assign("module_current", $dirname);
<{/php}>
<table cellspacing="0">
  <tr>
    <td id="mainmenu">
      <a class="menuTop" href="<{$xoops_url}>/"><{$block.lang_home}></a>
      <!-- start module menu loop -->
      <{foreach item=module from=$block.modules}>
        <{if $module_current == $module.directory}>
          <a class="menuMainActive" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}>!</a>
        <{else}>
          <a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a>
        <{/if}>
        <{foreach item=sublink from=$module.sublinks}>
          <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a>
        <{/foreach}>
      <{/foreach}>
      <!-- end module menu loop -->
    </td>
  </tr>
</table>

classにmenuMainActiveを与えているので、スタイルシートに.menuMainActiveを追加すればアクセス中のメニューに違うスタイルを適用できます。

RELATED POSTS