携帯用メニュー

9:携帯

 状態:  閲覧数:2,041  投稿日:2010-04-01  更新日:
携帯専用メニューを用意したい。その試行錯誤メモ。
※mbxoops6.2デフォルト設定 → PCメインメニュー「表示」か「非表示のみ」。
携帯非対応モジュールを非表示設定とすると、「このモジュールは携帯からはアクセスできません」となり確かにモジュール自体は表示されなくなるのだが、その入口であるメインメニュー項目が消えてなくなるわけではない。PC非対応なモジュールについては、メインメニュー項目から外したい

携帯専用メニューを用意したい


■携帯専用メニューを作成するには、大きく2通りある。
が、考え方としてはツールが違うだけで、中身は同じ。
xugj_blockを利用して、単独メニューを作成できるブロックを指定場所にはめ込む、というもの。

▼xugj_blockプラグインの使い方 - Wander Wonder xField
  http://xfield.info/modules/tautech/content0192.html

▼MBXoops - ナビゲーションにメインメニューを追加(ソース)
  http://mbxoops.net/modules/pico2/index.php?content_id=10
ここに書いてあるやり方は、記載されているとおり、xugj_blockを使って、「上部ナビゲーションにメインメニューを常に表示するようにする方法」。この通りやっても、携帯専用メニューが出来るわけではない。下記との違いは、呼び出す先が、変更不可のmodules/legacy/blocks/legacy_mainmenu.phpであるか、メニューカスタマイズが可能なブロックであるかの違い。
「xugj_blockを利用してブロックを呼び出す」という基本方針に変わりはない。


カスタマイズメニューが作成可能と思われるモジュールは、下記二通りある。
考え方としては、カスタマイズしたメニューを携帯用メニューとしてxugj_blockを利用して呼び出せばよい(のだと思う)。
▼treemenu2
▼multimenu

どちらにしようか迷ったが、multimenuは開発がストップしているようだったので、新しい方のtreemenu2でいくことに決めた(D3対応だったということもあり…)。
▼Never Ever - TREEMENU2
  http://never-ever.info/

インストールして、フツーに設定を行なう。


treemenu2の携帯対応は、以下のサイトを参考に行なった。
▼MBXoops - multiMenuによるメニューの表示(ソース)
  http://mbxoops.net/modules/pico2/index.php?content_id=17

▼対象ファイル…theme.html
<{* page header navi(to) *}>下に、下記追記。
<pre class="code">
<{xugj_block file="modules/treemenu2/blocks/blocks.php" func="b_treemenu_show" opt="treemenu2," item="block"}>

<{if count($block) > 0}>

<{* mainmenu area(from) *}>

<{foreach from=$block.list item=menu key=count}>

<{if $menu.target}> title="Popup!"<{/if}>><{$menu.title}><{if $menu.target}> <{/if}>

<{/foreach}>

<{* mainmenu area(to) *}>

<{/if}>
</pre>
ここまでで、当初やりたいと思ったことは、一応出来たのだが、
このままだとちょっと……、という箇所が出てきたので、
さらに調整してみることとしたい……。

携帯用メニュー~テーマ編へ続く(多分)


ブロックメニュー部門の、リストのマークがあるのに、中身が何も表示されていない理由

携帯用テーマ