メイン
   XOOPS2の改造・改良・ハック
     multimenuでアクセス中のモジュールをハイライトするには?

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tak2005
投稿日時: 2005/6/16 6:36
新米
登録日: 2005/6/16
居住地:
投稿: 10
multimenuでアクセス中のモジュールをハイライトするには?

初めて書込みさせて頂いてます。
メニューに置いてアクセス中のモジュールを違うスタイルしてハイライトしたいくてサイト検索をしてみたところアメジスト・ブルーサイトさんでメインメニューをハイライトする方法でxoopsのメインメニューのハイライトの仕方は解ったのですが、現在使用しているmultimenuでも同じようにハイライトさせたいと思い色々やってみたんですがうまくいきません。:cry:
PHP素人の私ですが、multimenuでも同じようにハイライトするのはどうすればよいのかご教授いただける方がいらしゃらないかな?
と思い書込みさせて頂きました。
現在使用のXoopsバージュンは、XOOPS 2.0.10 JPなので
こんど新たに<{$xoops_dirname}>テンプレートタグが追加されたので
multimenuのtemplates/blocksにあるmultimenu_block.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<table cellspacing="0">
  <tr>
    <td id="mainmenu">
      <!-- start module menu loop -->
      <{foreach name=menuloop item=imenu from=$block.contents}>
        <{if $imenu.link != ""}>
<{if $smarty.foreach.menuloop.first}>
      <a class="menuTop" id="<{if $xoops_dirname == ???????}> Active<{/if}>" href="<{$imenu.link}>" target="<{$imenu.target}>">
    <{else}>
      <a class="menuMain" id="<{if $xoops_dirname == ???????}> Active<{/if}>" href="<{$imenu.link}>" target="<{$imenu.target}>">
    <{/if}>
    <{$imenu.title}></a>
        <{foreach item=sublink from=$imenu.sublinks}>
          <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a>
        <{/foreach}>
        <{else}>
          <{$imenu.title}>
        <{/if}>
      <{/foreach}>
      <!-- end module menu loop -->
    </td>
  </tr>
</table>

みたいにして
style.css のほうで
td#mainmenu a#Active {background-color: ハイライト色;}
としてハイライトできればと考えてます。:-(
他のやり方でもかまいませんが、ご指導いただけると嬉しいです。
よろしくお願いします。

suin
投稿日時: 2005/6/16 7:41
長老
登録日: 2003/11/18
居住地:
投稿: 433
Re: multimenuでアクセス中のモジュールをハイライトするには?

tak2005さん,こんにちは.

引用:
メニューに置いてアクセス中のモジュールを違うスタイルしてハイライトしたいくてサイト検索をしてみたところアメジスト・ブルーサイトさんでメインメニューをハイライトする方法でxoopsのメインメニューのハイライトの仕方は解ったのですが、現在使用しているmultimenuでも同じようにハイライトさせたいと思い色々やってみたんですがうまくいきません。:cry:
PHP素人の私ですが、multimenuでも同じようにハイライトするのはどうすればよいのかご教授いただける方がいらしゃらないかな?

2.0.9.2でしか試していませんが,下記のように修正すればできるかと思います.
テンプレート:multimenu_block.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<{php}>
$mod = $GLOBALS['xoopsModule'];
$dirname = (isset($mod) ? $mod->getVar('dirname') :'system');
$this->assign("module_current", $dirname);
<{/php}>
 
<table cellspacing="0" summary="submenu">
  <tr>
    <td id="multimenu">
      <!-- start module menu loop -->
      <{foreach name=menuloop item=imenu from=$block.contents}>
        <{if $imenu.link != ""}>
          <{if $smarty.foreach.menuloop.first}>
            <a class="menuTop"<{if $imenu.link|replace:$module_current:"" != $imenu.link}>id="Active" <{/if}> href="<{$imenu.link}>" target="<{$imenu.target}>"><{$imenu.title}></a>
          <{else}>
            <a class="menuMain"<{if $imenu.link|replace:$module_current:"" != $imenu.link}>id="Active" <{/if}> href="<{$imenu.link}>" target="<{$imenu.target}>"><{$imenu.title}></a>
          <{/if}>
        <{foreach item=sublink from=$imenu.sublinks}>
          <a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}></a>
        <{/foreach}>
        <{else}>
          <{$imenu.title}>
        <{/if}>
      <{/foreach}>
      <!-- end module menu loop -->
    </td>
  </tr>
</table>
tak2005
投稿日時: 2005/6/16 8:28
新米
登録日: 2005/6/16
居住地:
投稿: 10
Re: multimenuでアクセス中のモジュールをハイライトするには?

tmstmsさんすばやいご対応ありがとうございます。
早速試したところmultimenuでもうまくハイライトされるようになりました。
感激です:-D
$imenu.link で判断させればよかったんですね。:-o
勉強になりました。
本当にありがとうございました。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 
To Top