如何使用php加载extjs需要的文件?
在extjs的4桌面例如,app.js是貌似如何使用php加载extjs需要的文件?
Ext.define('MyDesktop.App', {
extend: 'Ext.ux.desktop.App',
requires: [
'Ext.window.MessageBox',
'Ext.ux.desktop.ShortcutModel',
'MyDesktop.SystemStatus',
'MyDesktop.VideoWindow',
'MyDesktop.GridWindow',
'MyDesktop.TabWindow',
'MyDesktop.AccordionWindow',
'MyDesktop.Notepad',
'MyDesktop.BogusMenuModule',
'MyDesktop.BogusModule',
// 'MyDesktop.Blockalanche',
'MyDesktop.Settings'
],
init: function() {
// custom logic before getXYZ methods get called...
this.callParent();
// now ready...
},
...................
所以是有可能设置需要:[....]动态之前用PHP应用负载?就像可能用ajax调用什么的?
问候
假设你在你的服务器设置提供商,其outputing JSON,那么你可以这样做有provider.php
...
var setting1, setting2; // and so on
var settingsStore = new Ext.data.JsonStore({
proxy : new Ext.data.HttpProxy({
url : 'provider.php',
method:'GET'
}),
fields : ['setting1','setting2']
});
settingsStore.on('load',function(settingsStore,records,options) {
if (records.length > 0) {
setting1 = records[0].get('setting1');
setting2 = records[0].get('setting2');
}
},this);
// Now setting1 and setting2 variable contain your setting and available for used...
Ext.define('MyDesktop.App', {
extend: 'Ext.ux.desktop.App',
requires:setting1,
// ... and so on
编辑: PHP文件例如
$settings = array();
$settings[0] = array(
'setting1' => array(
'Ext.window.MessageBox',
'Ext.ux.desktop.ShortcutModel',
'MyDesktop.SystemStatus',
'MyDesktop.VideoWindow',
'MyDesktop.GridWindow',
'MyDesktop.TabWindow',
'MyDesktop.AccordionWindow',
'MyDesktop.Notepad',
'MyDesktop.BogusMenuModule',
'MyDesktop.BogusModule',
'MyDesktop.Settings'
),
'setting2' => array(
'Ext.window.MessageBox',
'Ext.ux.desktop.ShortcutModel',
'MyDesktop.SystemStatus',
'MyDesktop.VideoWindow',
'MyDesktop.GridWindow',
'MyDesktop.TabWindow',
'MyDesktop.AccordionWindow',
),
// and so on
);
Header('Content-Type: application/json');
echo json_encode($settings);
如果你不介意可以请告诉我什么是JSON输出到这个正确的格式?我试过这样,但没有工作$ responce-> data [] ['setting1'] =“['Ext.ux.desktop.ShortcutModel','MyDesktop.dtop_activity']”; echo json_encode($ responce); –
看看上面的例子。 – toopay
非常感谢您的帮助 –
如果你加载上面的脚本,内嵌你的html /文件,那么是的。但是,如果您将它作为js文件加载,那么您可以使用ajax与json reader结合调用php文件。作为替代方案,您也可以使用PHP文件作为“javascript提供程序”,方法是使用类似于'这样您就可以拥有可重用的文件而不是加载几个文件。 – toopay
感谢您的评论。这是加载为一个JS文件。任何想法如何做到这里面的ajax调用? –