Nachdem er einen Tag graben im Quellcode versuchen kann, habe ich die Lösung gefunden! Es beinhaltet nicht wirklich die Vorlage, aber ich habe die Idee aus dem Quellcode des Standard-Textfeld-Widget, also denke ich, es sollte nicht als "Hacking" betrachtet werden.
Hier ist meine benutzerdefinierte Widget-Klasse:
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');
}
Meine Vorlage jetzt nichts enthält, speziell:
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="ImageDisplayer">
<img />
</t>
</templates>
Arbeiten wie ein Charme. Es aktualisiert sogar die Seite, wenn ich eine Änderung auf der Serverseite mache.
Odoo Dokumentation sollte wirklich gesprächiger sein !!!
Update: Die Antwort gilt für Odoo 8. Es kann etwas anders in Odoo 9 arbeiten, weil sie das UI-Framework in der neuen Version überarbeitet haben.
Danke, aber eigentlich möchte ich eine URL anzeigen. Die URL ist der Wert meines Felds, und habe keine Ahnung, wie ich diesen Wert abrufen könnte ... –
können Sie versuchen mit diesem '' –
Danke für den Tipp, ich werde es morgen versuchen. Ich frage mich, wie Standard Textfeld Widget tut es, wie es mit jedem Feld des Modells funktioniert ... –