Я анализирую относительно сложный файл JSON, но возникают проблемы при отображении его в списке.
Выдержка из (урезанной версии) JSON такова:
{"root":[
{
"success":"true",
"text":"Vecka 2, 14 januari 2011",
"chart":[
{
"pbpl":"1",
"arso":"JAY SMITH",
"tit":"JAY SMITH",
"labl":"COLUMBIA",
"buyExt":[
{
"storeId":"61002",
"buyPri":"100",
"buyURL":"http://clk.tradedoubler.com/click?p=46&a=1861394&url=http%3A%5C%5Ccdon.se%5Cmusik%5Csmith_jay%5Cjay_smith-13014585"
},
{
"storeId":"61010251",
"buyPri":"130",
"buyURL":"http://www.bengans.se/Product.aspx?skivkod=882785"
},
]
},
{
"pbpl":"2",
"arso":"ROBYN",
"tit":"BODY TALK PT.2",
"labl":"KONICHIWA RECORDS",
"buyExt":[
{
"storeId":"61002",
"buyPri":"100",
"buyURL":"http://clk.tradedoubler.com/click?p=46&a=1861394&url=http%3A%5C%5Ccdon.se%5Cmusik%5Crobyn%5Cbody_talk_pt.2-11318544"
},
{
"storeId":"61010251",
"buyPri":"130",
"buyURL":"http://www.bengans.se/Product.aspx?skivkod=870725"
},
]
},
...
Это модель:
Ext.regModel('Chart', {
fields: [
{name: 'text', type: 'string'},
{name: 'chart', fields: [
{name: 'arso', type: 'string'},
{name: 'tit', type: 'string'},
{name: 'pbpl', type: 'integer'}
]}
]
});
Шаблон, который я использую, таков:
app.chartItemTpl = new Ext.XTemplate(
'<tpl for="chart">',
' <div class="thumb-wrap chart_row" id="{#}">',
' <table>',
' <tr>',
' <td class="chart_pbpl">{#}</td>',
' <td class="chart_album">',
' <span class="arso">{arso}</span><br />',
' <span class="tit">{tit}</span><br />',
' </td>',
' </tr>',
' </table>',
' </div>',
' <div style="clear: both"></div>',
'</tpl>'
);
Проблема в том, что не создается элемент для каждой записи "диаграммы".
Вместо этого он создает только один элемент списка, но зацикливает записи «диаграммы» внутри него, создавая огромный единственный элемент.
Магазин это:
Ext.regStore('ChartsStore', {
model: 'Chart',
proxy: {
type: 'scripttag',
reader: {
type: 'json',
root: 'root'
}
},
getGroupString: function (record) {
if (record && record.data.text) {
return record.get('text');
} else {
return 'No description';
}
}
});
Кто-нибудь знает, как это исправить?
Спасибо,
Arttie