저는 ext js를 처음 사용하지만 시작 안내서를 읽고 나만의 응용 프로그램을 만들었습니다.ext js app에 추가 mvc 논리 삽입
이제는 전자 상거래 시스템 (shopware) 용 플러그인을 구축 중이며 앱을 동적으로 확장해야합니다.
나는 기존의 컨트롤러를 패치 원숭이로보기를 추가 관리했습니다 :
//{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 아키텍처를 사용하고 있습니까? 그렇지 않다면 (http://www.sencha.com/learn/the-mvc-application-architecture/) – A1rPun
예, 사용하고 있지만 확장하려고합니다. [원숭이 패치] (http://en.wikipedia.org/wiki/Monkey_patch)를 참조하십시오. – shredding