設定ファイルからメニューを生成する helper

習作に、CakePHP の helper を作ってみました。


以下のような設定ファイルを読み込んで、リンク付きのメニューを出力します。

[config]
admin = false

[group1]
group1.index = "index"
group1.add = "add"

[グループ2]
group2.index = "なんかのアクション"
group2.add = "テスト"

記述ルールは、

[グループ名]
{controller 名}.{action 名}
  • [config]は予約語で、「admin=true」の時、リンクの頭に強制的に 「admin/」をつけます。

動作環境

  • cake_1.2.0.5146alpha
  • php4

で動作確認しました。1.1 系では動かなかったです。

使い方

  • 以下を同梱してます。 app ごとまるっとコピーするなり、個別に当該箇所にコピーするなりしてください。
    • /app/webroot/css/cake.menu.css
    • /app/views/helpers
    • /app/views/helpers/menu.php
    • /app/config/menu.ini
  • controller 内で Menu helper を使えるように

例えば全ての controller で使う場合は cake/app_controller.php を app/ にコピーして、以下のようにすればよいと思います。

class AppController extends Controller {
    var $helpers = array( 'Menu');
}
  • view に以下記述
<?php $menu->display();?>

WEBアプリの管理画面とかに便利だと思って作りました。
じゃ。