管理画面にメニューを追加してみよう
|
|
概要 Cobalt の管理画面は、Cobalt の管理エンジンである Sausalito が XML で書かれたメニューデータから動的に HTML を生成して表示しています。 そのため新しいメニューを追加するために必要な作業は、この XML のデータを追加することだけです。 ここではその具体的な方法について説明します。 |
|
実際の追加作業 まず結果からお見せします。以下の図に示すように、左側メニューに通常は存在しない「HELLO」階層メニューを追加してみました。 (参考文献「Sausalito で遊ぼう!(文献 2.)」) これは /usr/sausalito/ui/menu/ ディレクトリ以下に下記の二つの XML ファイルを置いただけの結果です。 このディレクトリ以下に何かサブディレクトリを作り、そこに入れても構いません。 ---- hello.xml <item id="base_hello" label="HELLO" description="Hello DAYO" requiresChildren="1"> <parent id="base_sysmanage" order="90"/> </item> ---- hello_world.xml <item id="base_helloWorld" label="Say Hello!" description="Say Hello to the bird." url="/hello/hello.html" > <parent id="base_hello" order="10"/> </item>hello.xml がまず左側のメニューバーに HELLO という項目を追加し、 hello_world.xml が HELLO 項目のサブ項目 Say Hello! となり、それをクリックすると、 url パラメタに書かれた hello.html をメインのフレーム内に表示するようになります。 HTML ファイルのトップディレクトリは /usr/sausalito/ui/web/ ですので、今回の url="/hello/hello.html" は /usr/sausalito/ui/web/ の直下に hello というディレクトリを作り、hello.html を置くことになります。 今回は簡単にただイメージを表示するだけの HTML ファイルを作ってみました。 ---- hello.html <HTML> <BODY> HO HO HO!<BR> <IMG SRC="tori.jpg"> </BODY> </HTML>XML ファイルに書かれた item の id と、parent id による親子関係などがわかるでしょうか。 これらのパラメタに従って、以下のことが自動的に処理されます。
base_sysmanage は画面左側のメニューバー、order はその中での並び順を意味します。今回は 90 としたため一番下に出ますが、33 などにすればもっと上に入り込みます。 label や description は上の例ではハードコードしましたが、通常なら .po 形式のメッセージファイルの msgid を指定して、国際化に自動的に対応させるようにします。 今回は非常に単純なメニューで、ただ hello.html を表示するだけなのですが、普通はここに各種の製品の設定画面が表示されているわけです。 さあ、自分のメニューを追加しましょう! |
|
参考文献
![]()
|
|
|