ext.js - не может применить данные XML к шаблону - PullRequest
1 голос
/ 20 июня 2011

Я использую ext.js, чтобы получить данные из XML-файла и просмотреть результаты, чтобы отобразить их в шаблоне, но это не работает.Я могу успешно просмотреть результаты и записать их в консоль, но когда я передаю их в шаблон, ничего не отображается.Вот мой код:

Ext.regModel('Work', {
    fields: ['title', 'thumb', 'video']
});

var workStore = new Ext.data.Store({
    model: 'Work',
    proxy: {
        type: 'ajax',
        //url : 'http://superfad.com/work/work_xml',
        url : 'lib/xml/work_xml.xml',
        reader: {
            type: 'xml',
            record: 'project'
        }
    }
});

t_work = new Ext.Component({
    cls:'t_work', title:'Work',
    title:'Work',
    scroll: 'vertical',
    tpl: new Ext.XTemplate(
        '<tpl for=".">',
            '<div class="work">',
                    '<h3 class="work_title">{title}</h3>', //this doesn't work
                    '<div class="work_thumb">',
                        '<img src="{thumb}" alt="{title}"/>', //this doesn't work
                    '</div>',
            '</div>',
        '</tpl>'
    )
});

function loadWork(){
    workStore.load({
        callback: function(data) {
            var projects = data;
            t_work.update(projects)
            for (var i = 0, iln = projects.length; i < iln; i++){
                console.log(projects[i].get('title')) //this works
            }
        }
    });
}

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 20 декабря 2011

Не могли бы вы поделиться своим XML?

Убедитесь, что поля модели имеют те же имена, что и в файле xml, включая заглавные буквы. Возможно, ваша модель установлена ​​неправильно, у меня была эта проблема. Также убедитесь, что у вас нет корневого узла в файле XML. Если у вас есть корневой узел, используйте следующее (замените 'rootnode' на имя узла):

var workStore = new Ext.data.Store({
    model: 'Work',
    proxy: {
        type: 'ajax',
        //url : 'http://superfad.com/work/work_xml',
        url : 'lib/xml/work_xml.xml',
        reader: {
            type: 'xml',
            record: 'project',
            root: 'rootnode'
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...