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!コンポーネントを全画面表示

Joomla!コンポーネントを全画面表示 published on Joomla!コンポーネントを全画面表示 へのコメントはまだありません

タイトル通り。全画面表示したりとか、新規ウィンドウに表示したりとかしたい。
新しいテンプレートを使って、全画面表示したいコンポーネントのページに適用するだけ。
ここを参考にした。

Community Builderの機能をコンポーネントから使う

Community Builderの機能をコンポーネントから使う published on Community Builderの機能をコンポーネントから使う へのコメントはまだありません

ここ1ヶ月くらい作成中のJoomla!コンポーネントがようやく形になってきた。そのコンポーネント内部ではCommunity Builderで追加したフィールドの値を参照してる。

そうしたことをするには、以下のようなコードを埋め込む必要がある。

global $_CB_framework, $ueConfig, $mainframe;
if ( defined( 'JPATH_ADMINISTRATOR' ) ) {
if ( ! file_exists( JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php' ) ) {
echo 'CB not installed!';
return;
}
include_once( JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php' );
} else {
if ( ! file_exists( $mainframe->getCfg( 'absolute_path' ) . '/administrator/components/com_comprofiler/plugin.foundation.php' ) ) {
echo 'CB not installed!';
return;
}
include_once( $mainframe->getCfg( 'absolute_path' ) . '/administrator/components/com_comprofiler/plugin.foundation.php' );
}
cbimport( 'cb.plugins' );
cbimport( 'language.front' );

でないと、以下のようなエラーが出る。

Fatal error: Class 'comprofilerDBTable' not found in /path/to/joomla/administrator/components/com_comprofiler/library/cb/cb.tables.php on line 16

詳しくはここを参照

環境:
Joomla 1.5.15
Community Builder 1.2.2

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

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

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

Joomla!モジュールとコンポーネントの違い

Joomla!モジュールとコンポーネントの違い published on Joomla!モジュールとコンポーネントの違い へのコメントはまだありません

joomla module component differenceで検索して一番最初に出てきたページ(英語)がさすがに分かりやすい。
・モジュール
情報を表示するための小さな機能。色んな場所に何度でも表示させる事が出来る。
・コンポーネント
モジュールよりも複雑で多機能。(通常は)ある1つのページのメインエリアにだけしか表示できない。コンポーネントへのリンクはメニューアイテムを作る事により可能。設定用のページを持つのが一般的。
って感じらしい。
日本語のこちらのページも分かりやすい。1.0の話だけど、1.5でも大差ないはず。