ile çalışabilir, ben bir çözüm buldum! Şablonu gerçekten içermiyor, ancak varsayılan metin alanı widget'ının kaynak kodundan bir fikrim var, bu yüzden "hacking" olarak görülmemesi gerektiğini düşünüyorum. Büyü gibi
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="ImageDisplayer">
<img />
</t>
</templates>
Çalışır:
openerp.mymodule = function(instance, local) {
instance.ImageDisplayer = instance.web.form.AbstractField.extend({
template: "ImageDisplayer",
init: function (view, code) {
this._super(view, code);
},
// The key part:
render_value: function() {
this.$el[0].src = this.get("value");
}
});
instance.web.form.widgets.add('ImageDisplayer', 'instance.ImageDisplayer');
}
Benim şablonu artık özel bir şey içermiyor:
İşte benim özel Widget sınıfı. Sunucu tarafında bir değişiklik yaptığımda bile sayfayı günceller.
Odoo belgeleri gerçekten daha konuşkan olmalı!
Güncelleştirme: yanıt Odoo 8 için geçerlidir. Odoo 9'da biraz farklı şekilde çalışabilir, çünkü UI çerçevesini yeni sürümde revize etmişlerdir.
Teşekkürler, ama aslında bir URL görüntülemek istiyorum. URL benim alanımın değeridir ve bu değeri nasıl alabileceğimi bilmiyorum ... –
Bu '' –
ile deneyebilirsiniz İpucu için teşekkürler, yarın deneyeceğim. Modelin herhangi bir alanıyla çalıştığı için varsayılan metin kutusu widget'ının bunu nasıl yaptığını merak ediyorum ... –