-
17 Dec 2011 9:46 AM #1
Answered: JSON rendering instead of template
Answered: JSON rendering instead of template
The following code renders out the JSON that is returned from the store into the panel. It somehow seems to be ignoring the xtemplate. No errors are thrown. The JSON is valid. Any ideas?
Code:var xtpl = new Ext.XTemplate( '<div style="padding:10px 5px 5px 5px;">', '<tpl for=".">', '<div class="node" style="background:url({path});">', '</div>', '</tpl>', '</div>' ); var dv = new Ext.DataView({ store: 'myStore', tpl: xtpl, itemSelector: 'div.node' }); App.views.HomeIndex = Ext.extend(Ext.Panel, { xtype: "panel", items: [dv], scroll: 'vertical', styleHtmlContent: true }); Ext.reg('home-index', App.views.HomeIndex);
-
Best Answer Posted by mitchellsimoens
- You shouldn't specify items like that when you use Ext.extend.
- You need to have layout set to fit on your Ext.Panel subclass.
Yes, it's more code but it's also more proper.Code:App.views.HomeIndex = Ext.extend(Ext.Panel, { layout : 'fit', scroll: 'vertical', initComponent: function() { this.items = this.buildItems(); App.views.HomeIndex.superclass.initComponent.call(this); }, buildItems: function() { return [ { xtype : 'dataview', store : 'myStore', itemSelector: 'div.node', tpl : new Ext.XTemplate( '<div style="padding:10px 5px 5px 5px;">', '<tpl for=".">', '<div class="node" style="background:url({path});">', '</div>', '</tpl>', '</div>' ) } ]; } }); Ext.reg('home-index', App.views.HomeIndex);
-
18 Dec 2011 4:36 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,624
- Vote Rating
- 434
- Answers
- 3105
- You shouldn't specify items like that when you use Ext.extend.
- You need to have layout set to fit on your Ext.Panel subclass.
Yes, it's more code but it's also more proper.Code:App.views.HomeIndex = Ext.extend(Ext.Panel, { layout : 'fit', scroll: 'vertical', initComponent: function() { this.items = this.buildItems(); App.views.HomeIndex.superclass.initComponent.call(this); }, buildItems: function() { return [ { xtype : 'dataview', store : 'myStore', itemSelector: 'div.node', tpl : new Ext.XTemplate( '<div style="padding:10px 5px 5px 5px;">', '<tpl for=".">', '<div class="node" style="background:url({path});">', '</div>', '</tpl>', '</div>' ) } ]; } }); Ext.reg('home-index', App.views.HomeIndex);Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.


Reply With Quote