私はopenerp
のwebデベロッパーを初めて利用しています。私は、開始ボタンと停止ボタン(私の新しいカスタムフィールドに含めるか、別々)を使って、例えば、textbox
にカウントアップタイマーウィジェットを作成したいと思います。openerpウェブクライアントフィールドをカスタマイズする方法(基本フィールドウィジェットを拡張する)
私は小さな時間をカウントアップするjavascript
機能を作った。
FieldChar
を拡張して新しいウィジェットを作成する必要がありますか?新しいタイプのフィールドを作成しますか?
カウンターコードはどこに置くのですか。それはchar
フィールド(または新しいタイプのフィールド)に表示する方法はありますか?
私はopenerp.web.form.FieldChar
ようなもので拡張する方法についていくつかのドキュメントを見つけました:
openerp.web_mymodule = function(openerp) {
openerp.web.form.Field.include({
init: function(view, node) {
console.log('mine');
this._super(view, node);
}
});
}
私もインターフェースがどのように機能するかについてopenerp's
ドキュメントと一緒にこのすべてを置くためにいくつかのガイダンスを必要としています。ここで
は私がされて
事前にありがとう: モジュール:web_uptimer
web_uptimer.js:
openerp.web_uptimer = function (openerp)
{
openerp.web.form.widgets.add('uptimer', 'openerp.web_uptimer.CountUp');
openerp.web_uptimer.CountUp = openerp.web.form.FieldChar.extend(
{
template : "uptimer.template",
init: function (view, code) {
this._super(view, code);
console.log('counting...');
alert('counting...');
}
});
}
web_uptimer.xml:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="uptimer.template">
<html>
</html>
</t>
</templates>
私の迅速な回数アップタイマーテスト:
<html>
<head>
<title></title>
<script type="text/javascript">
var counter = 0;
var minutes = 0;
var hours = 0;
var timer;
var todisplay;
var h2disp;
var m2disp;
var s2disp;
function countUP()
{
counter = counter + 1;//increment the counter by 1
if(counter == 60)
{
counter = 0;
minutes = minutes + 1;
if(minutes == 60)
{
minutes = 0;
hours = hours + 1
}
}
if(counter < 10)
{
s2disp = "0" + counter;
}
else
{
s2disp = counter;
}
if(minutes < 10)
{
m2disp = "0" + minutes;
}
else
{
m2disp = minutes;
}
if(hours < 10)
{
h2disp = "0" + hours;
}
else
{
h2disp = hours;
}
todisplay = h2disp + ":" + m2disp + ":" + s2disp;
document.getElementById("timer_container").innerHTML = todisplay;
}
</script>
</head>
<body onload='timer=setInterval("countUP()", 1000);'>
<div id="timer_container">00:00:00</div>
<div>
<button onclick='clearInterval(timer);'>Stop Timer</button>
<button onclick='timer=setInterval("countUP()", 1000);'>Continue Timer</button>
</div>
</body>
</html>
あなたが正しい軌道に乗っています。 http://doc.openerpのドキュメントをご覧ください。com/trunk/developers/web/module /には、タイマウィジェットの例があります。 :D私はそれをテストしましたが、かなり説明されているようです。 – TimoSolo
ティモシーに感謝します。 私が指摘したweb_exampleを試しています。 いくつかの問題の後で(menuitemタグの解析エラー) 私はカウンタを表示することができますが(これはスタートです!!!)、ボタンは関数を呼び出すことはありません... 6.1で動作していますか? (リンク先の医者がトランクに位置していると思います) 私はコードを簡略化しようとしていますが(ボタンとアラート)、動作していません。 「イベント」が機能しない、または聞かれないようです... アイデアはありますか? 事前に感謝、私はまだ進んでいるので、それは良いです –