私は ext js を初めて使用しますが、入門ガイドを読み、独自のアプリを作成することができました。
現在、e コマース システム (ショップウェア) 用のプラグインを構築しており、アプリを動的に拡張する必要があります。
既存のコントローラーにモンキー パッチを適用することで、ビューを追加することができました。
//{extends file="[default]backend/article/controller/main.js"}
//{namespace name=backend/article/view/main}
//{block name="backend/article/controller/main" append}
Ext.define('Shopware.apps.Article.controller.MyApp', {
override: 'Shopware.apps.Article.controller.Main',
openMainWindow: function() {
var me = this,
mainwindow = me.callOverridden();
oldTabCreation = mainwindow.createMainTabPanel;
mainwindow.createMainTabPanel = function() {
mainTab = oldTabCreation.apply(this);
mainTab.add(
Ext.create('Ext.panel.Panel',
{
title: 'Pricify',
layout: 'card'
})
);
return mainTab;
};
return mainwindow;
}
});
//{/block}
これは機能します。それが好ましい方法かどうかはわかりませんが、ビューが適切な場所にロードされ、非常に満足しています (数時間かかるため)。
しかし、行く方法があります。
ここにロジック全体を挿入するにはどうすればよいですか?
私の要件は次のとおりです。
- コントローラー、ビュー、ストア/モデルが必要です
- できれば独自の名前空間で
- クラスをファイルに分割したい。
- ファイルは、元のアプリ フォルダーではなく、プラグイン フォルダーに存在する必要があります。
app.js ファイルにコードを追加することはできましたが、私が知る限り、コントローラーとビューをアタッチすることはできず、ファイルを自動ロードする方法もわかりません。
そうするための好ましい方法はありますか?
編集 私は今、単純なアプリを構築しています。これは前にロードされ、アプリに利用できるコントローラーを挿入しようとしています。準備ができたら、また報告します。