ページへ戻る

− Links

 印刷 

テーマをマルチメニュー対応にする方法 :: xoops123

xpwiki:XOOPSでWebサイトを作ろう/カスタマイズ/テーマをmultimenu対応にする方法

テーマをマルチメニュー対応にする方法 anchor.png[1]

正直なところ、私自身は multimenu モジュールを使っていないので、余り自信がないのですが・・・
とりあえず使える方法みたいなので、テーマ tw_corp で利用した方法について、ここにご紹介させていただくことにします。

え~っと、私が公開している多くのテーマでは、xugj_assign.phpを利用したグローバルメニューを採用していることが多いのですが、その部分を次のコードで置き換えることで、multimenuモジュールが生成するメニューを表示することができるようです。

Page Top

例:テーマ tw_940の場合(theme.htmlの44行目付近) anchor.png[2]

  <ul class="nav">
    <{if $menu0.dirname == $xoops_dirname}>
      <li class="active"><a href="<{$xoops_url}>/"><{$smarty.const._THEME_LANGUAGE_HOME_NAME}></a></li>
    <{else}>
      <li><a href="<{$xoops_url}>/"><{$smarty.const._THEME_LANGUAGE_HOME_NAME}></a></li>
    <{/if}>
    <{foreach from=$xugj_menus item="menu0"}>
      <li<{if $menu0.dirname == $xoops_dirname}> class="active"<{/if}>><a href="<{$xoops_url}>/modules/<{$menu0.dirname}>/<{$menu0.url}>"><{$menu0.name}></a></li>
    <{/foreach}>
  </ul>
Page Top

上記を次のように変更する anchor.png[3]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
  <ul class="nav">
    <{foreach item=imenu from=$multiMenuToTheme.contents name=menuloop}>
      <li class="dropdown<{if $xoops_modulename == $imenu.title}> active<{/if}>">
        <{if $imenu.link != ""}>
          <{if $imenu.sublinks}>
            <a href="<{$imenu.link}>" target="<{$imenu.target}>" role="button" class="dropdown-toggle" data-toggle="dropdown"><{$imenu.title}></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="<{$imenu.link}>" target="<{$imenu.target}>" class="menu-bg"><{$imenu.title}></a></li>
                <{foreach item=sublink from=$imenu.sublinks}>
                  <li><a href="<{$sublink.url}>"><{$sublink.name}></a></li>
                <{/foreach}>
              </ul>
           <{else}>
             <a href="<{$imenu.link}>" target="<{$imenu.target}>"><{$imenu.title}></a>
           <{/if}>
        <{/if}>
      </li>
    <{/foreach}>
  </ul>

Last-modified: 2013-01-16 (水) 22:28:05 (JST) (4361d) by marine