我是新來的ext js,但通過入門指南並設法創建了我自己的應用程序。向ext js應用程序注入額外的mvc邏輯
現在我正在構建一個電子商務系統(商店)的插件,並需要動態擴展應用程序。
我已經成功通過猴子打補丁的現有控制器添加一個觀點:
//{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文件,但據我所知,我不能將控制器和視圖,我也不會知道如何自動加載的文件。
有沒有這樣做的首選方法?
編輯 我現在正在構建一個簡單的應用程序,該應用程序之前加載並嘗試注入可用於應用程序的控制器。一旦我準備好了,我會報告回來。
什麼是猴子補丁:)?你在使用ExtJS MVC架構嗎?如果沒有[tut here](http://www.sencha.com/learn/the-mvc-application-architecture/) – A1rPun
是的,我確實使用它,但我試圖擴展它。參見[Monkey Patch](http://en.wikipedia.org/wiki/Monkey_patch)。 – shredding