2007年2月23日(金曜日)

テーマにメインメニューを表示するための ryus_mainmenu プラグイン

カテゴリー: - Ryuji @ 14時00分31秒

このサイトでは、legacy 付属のメインメニューブロックを使わずに、テーマのヘッダ部分にメインメニューを表示しています。

theme.html に直接リンクを書いても良いのですが、モジュールを追加したり、並び順を変えたいと思うたびに theme.html を編集し直すのも面倒です。

そこで、メインメニューの項目をテンプレート変数にアサインするプラグインを作成しました。

ryus_mainmenu.zip

ファイルを解凍したら、Smarty プラグインディレクトリに配置してください。
ryusSmartyPluginEx を利用して、XOOPS_TRUST_PATH 側に配置するのがおすすめです。

使い方ですが、まず theme.html のあたまで、メインメニュー項目をアサインします。

<{ryus_mainmenu}>

デフォルトでは、$ryus_mainmenu にアサインされますが、assign パラメータを追加すれば、別の変数に割り当てることも可能です。
たとえば、$foo に割り当てたければ、下記のように記述します。

<{ryus_mainmenu assign=foo}>

つづいて、メインメニューを表示したい箇所で次のように記述します。

  <{foreach from=$ryus_mainmenu.modules item=module}>
  <a href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}></a>
  <{/foreach}>

$ryus_mainmenu.modules にメインメニューの各項目が配列で入ってますので、foreach で回して、$module.directory でモジュールのディレクトリ名、$module.name でモジュール名を取り出せます。

現在表示中のモジュールのサブメニューは、下記のように記述すると表示できます。

      <{foreach item=sublink from=$ryus_mainmenu.sublinks}>
      <a href="<{$sublink.url}>"><{$sublink.name}></a>
      <{/foreach}>

サブメニューは $ryus_mainmenu.sublinks に配列ではいっていますので、sublinks を foreach で回して、$sublink.url でサブメニューの URL、$sublink.name でサブメニュー名を表示できます。


コメント

RSS feed for comments on this post.

  1. ryus_mainmenu.zipがダウンロードできません。
    よろしくお願いします。

    Comment by Anonymous — 2007年3月10日(土曜日) @ 18時03分40秒

  2. ご指摘ありがとうございます。
    先ほどダウンロードできるようにしました。

    Comment by Ryuji — 2007年3月10日(土曜日) @ 22時46分02秒

コメントの投稿

ごめんなさい、現在コメントを付けることは出来ません

10 queries. 0.042 sec.
Powered by WordPress Module based on WordPress ME & WordPress

検索
XOOPSうさぎ通信
お客様事例
メルマガ登録
メルマガ「XOOPSうさぎ通信」登録

メルマガタグ全一覧

XOOPSうさぎ通信
メールアドレス*必須
お名前*必須
会社名
ひとこと欄
個人情報のお取り扱いについてに同意の上ご登録ください
XOOPSうさぎ通信とは?
事例紹介キーワード
タイムカードと社内ポータルがワンパッケージ!
イントラ+勤怠管理システム イントラタイムカードXOO

XOOPS Cubeサタデーラボ

「知らなかったら損をするCMSを社内で活用する!7つの法則」無料レポート お申し込みフォームはコチラ!
メディア掲載情報
最新スタッフブログ
RYUS運営サイト
うさぎにもできるXOOPS Cube入門♪
XOOPS Cube Link
XOOPS Cube Official Web Site
携帯サイト
株式会社RYUS QRコード
株式会社RYUS QRコード
たいせつにしますプライバシー 10823301(01)