Ext Js: hacer que el botón sea un enlace

En Ext Js quiero que algunos de mis botones funcionen como enlaces (es decir, <a href... ).

Cómo puedo hacer eso.

En este momento estoy agregando un controlador que hace window.location.href=http://....

Pero pensé que debería haber una manera más fácil, algo así como agregar un atributo href como en el elemento del menú.

¿Algunas ideas?

También hay una extensión de usuario existente que hace exactamente esto.

Así es como se hace … Para ser más portátil, podría extender Ext.Button en Ext.ux.LinkButton (o lo que sea) e implementar la propiedad y el comportamiento requerido en esta clase extendida (solo un ejemplo rápido y sucio) :

 Ext.ux.LinkButton = Ext.extend(Ext.Button, { href: null, handler: function() { if (this.href) { window.location.href = this.href; } } }); Ext.reg( "ux-linkbutton", Ext.ux.LinkButton ); var btn = new Ext.ux.LinkButton({ text: "Link to Google", href: "http://www.google.com" }); 

EDITAR:

Cambio simple de apariencia:

 Ext.ux.LinkButton = Ext.extend(Ext.Button, { href: null, template: new Ext.Template( ['', '', '', '', '
  
  
  
'], {compiled: true}), buttonSelector : 'a:first-child', getTemplateArgs : function(){ return [this.href, 'x-btn-' + this.scale + ' x-btn-icon-' + this.scale + '-' + this.iconAlign, this.getMenuClass(), this.cls, this.id]; }, handler: function(b, e) { if (this.href) { e.stopEvent(); window.location.href = this.href; } } });