ページへ戻る

− Links

 印刷 

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

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

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

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

**例:テーマ tw_940の場合(theme.htmlの44行目付近) [#m89bbb40]
#code(php,nonumber){{
  <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>
}}

**上記を次のように変更する [#p9f0fba6]
#code(php){{
  <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>
}}

« Prev[3]