Joomlaの2.xバージョンと3.xバージョンの間には、多くのAPIの変更があります。 Joomla 3コンポーネントの開発では、引き続きレガシークラスの抽象を使用します。
jimport('joomla.application.component.view');
class TestViewItem extends JViewLegacy {
public function display($tpl = null) {
$model = JModelLegacy::getInstance('Test', 'JiwaModel');
$model->call();
}
}
しかし、Joomla 3.x以降でそれを行うための正しい非レガシーな方法は何でしょうか?
具体的な答えはありませんが、@ george-wilsonが同様の質問への回答を投稿しました here 。
そこで彼は、com_configコンポーネントがすでに新しいMVC構造を使用していると言います。 ConfigViewApplicationHtml
はJViewHtml
をマスタークラスとして使用します。したがって、これは良い出発点になる可能性があります。
私は http://lendr.websparkinc.com/ を見つけました。これは、Joomla 3+コンポーネント開発の優れたチュートリアルです。私の知る限り、新しいJoomla 3 MVCパラダイムを使用しています。
J3のどのコンポーネントにもJimportが含まれていない。古い方法で構築された拡張機能を引き続き使用するために、レガシーツリーが導入されました。それはおそらく私たちと一緒に長く残るでしょう。配布パッケージが提供しなくなった場合でも、それを使用することは可能です。
JIssuesとJoomlaインストールの両方が、新しいMVC構造を使用する例です。また、com_configなどのコンポーネントがそれを使用します。