Skip to content

ViewでHTMLではなくXMLを出力

ViewでHTMLではなくXMLを出力 published on ViewでHTMLではなくXMLを出力 へのコメントはまだありません

Joomlaのコンポーネントの話。MVC形式の場合、一般的にはviewはview.html.phpというファイル名で、そこでtemplateを読み込んで表示する、と言う流れになる。

html以外、例えばAJAXなどでXMLを表示したい場合のやりかた。

Controllerへの引数にformat=xmlというのを渡すと、view.html.phpではなくてview.xml.phpが呼ばれる。
HTMLヘッダーのmime typewを正しく設定するには、Controllerの中で以下のようにすれば大丈夫っぽい。

$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/xml');
$doc->setType('xml'); 

ここここら辺を参考にした。

Joomla!のViewで違う名前のModelを使う

Joomla!のViewで違う名前のModelを使う published on Joomla!のViewで違う名前のModelを使う へのコメントはまだありません

まだまだJoomlaのコンポーネントを作成中。
JoomlaでMVCスタイルに沿ってコンポーネントを作る場合、各クラス・ファイル名をJoomla流儀の命名規則にしておかないと結構面倒。
■ViewでView名とは違う名前のModelを使いたい
admin側の機能を先に作ったんだけど、ユーザー側のコードでもadmin側で作ったmodelを使いたい。色々調べたり試行錯誤したりして、1時間くらいかかってしまった…
フォーラムのこの書き込みが結構役に立った。

Continue reading Joomla!のViewで違う名前のModelを使う

Joomla! 1.6でMVC

Joomla! 1.6でMVC published on Joomla! 1.6でMVC へのコメントはまだありません

引き続きぼちぼちJoomla!でコンポーネントを作ってるんだけど、単純なCRUDを作るのが結構めんどくさい。せっかく省力化のためにCMS使うのに、ちょっと機能追加しようと思ってコンポーネントを作ろうと思ったら、単純なCRUDに時間がかかっては本末転倒のような…symfonyみたいなフレームワークを一度使っちゃうともう元には戻れないなぁ。
さて、何かいい方法がないかと思って調べてたら、1.6ではそのあたりが結構改善されているっぽい。1.6でのMVCのチュートリアルなんだけど、XMLでビューの定義とかをしている。
1.6に乗り換えようかなぁと思ったけど、まだα版なので断念した。

Joomla! MVCでコンポーネントを作る

Joomla! MVCでコンポーネントを作る published on Joomla! MVCでコンポーネントを作る へのコメントはまだありません

Joomla!のコンポーネントを作り始めて10日間ぐらいか。だんだん慣れてきた。
役に立ったページをメモ代わりに。(全部英語だけど)
MVCでコンポーネントを作るときに基本的な事を解説した
チュートリアル
もう一つチュートリアル。こっちは多言語対応?。まだ詳しく見てない。
“500 view not found” なんてエラーが出たときに検索してて見つけたスレッド。Model, View, Controllerのファイル名、クラス名、ディレクトリ構造は規則に従っておくと楽だけど、そうじゃないと色々トラブルが起きる。
で、そんなトラブルが起きたときに、結局はソースを見るのが一番手っ取り早かったりする。Joomla!のソースは結構分かりやすい。
JModel, JView, JController 各クラスのドキュメント。ソースもそっからたどれる。
インストールファイルのサンプル&説明のページ