Итак, у вас есть хранилище JSON, что-то вроде этого
var store = new Ext.data.JsonStore({
// store configs
autoDestroy: true,
url: 'get-images.php',
storeId: 'myStore',
// reader configs
root: 'images',
idProperty: 'name',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
Затем вы можете добавить функцию обратного вызова в хранилище, которое запускается при загрузке.Это документация по этой функции
load : ( Store this, Ext.data.Record[] records, Object options )
,
store.addListener(load, function(store, records, options){
// loop over records and dynamically create tabs here
});
Так что если у вас есть такая панель вкладок
var tabs = new Ext.TabPanel({
renderTo:'tabs',
resizeTabs:true, // turn on tab resizing
minTabWidth: 115,
tabWidth:135,
enableTabScroll:true,
width:600,
height:250,
defaults: {autoScroll:true},
plugins: new Ext.ux.TabCloseMenu()
});
Вы можете динамически добавлять вкладки вэто так
tabs.add({
title: 'New Tab ' + (++index),
iconCls: 'tabs',
html: 'Tab Body ' + (index) + '<br/><br/>'
+ Ext.example.bogusMarkup,
closable:true
}).show();
Это должно быть все, что вам нужно, больше документации можно найти здесь.
http://www.sencha.com/deploy/dev/examples/tabs/tabs-adv.html