2010-11-18 4 views
2

わかりやすい「完全な」例に続いて、Wikiを読んだ後、Moxieフォーラムで回答を検索した後、私は今までに何も考えていません。基本的には、what the wiki suggests is possibleを実行しようとしていますが、匿名関数の例の 'staffid'値を補足すると、変数は置き換えられません。TinyMCEでテンプレート変数を更新する方法は?

template_replace_values : { 
    username : "Jack Black", 
    staffid : function(e){ 
     var staffidInput = yd.get('staffidInput'); 
     return (staffidInput !== null)? staffidInput.value : '0178678'; 
    } 
} 

...しかし、それは動作しませんでしたので、私は、その後のTinyMCEをインスタンス化する前に機能を定義した:

function getStaffId(){ 

     var staffidInput = yd.get('staffidInput'); 
     alert('template_replace_values processed, staffidInput: '+staffidInput); 
     return (staffidInput !== null)? staffidInput.value : '555555'; 

    } 
... more instantiation code... 
     template_replace_values : { 
      username : "Jack Black", 
      staffid : getStaffId() 
     } 

を...と値は初回のみをピックアップ、その更新はありませんwikiが示唆するように(「クリーンアップ」手順が実行されるたびに)私はどこかで何かが推測されていると私は2番目の、ほとんど成功した試みのgetStaffIdは、tinyMCE iframeのドキュメントコンテキストで定義されていないので、私は思う..

私の目的は、テンプレートプレビュー画面で設定できる変数と、テンプレートが挿入された後でもあります。

+0

誰かがすばらしいアドバイスを持っている場合に備えて、これをちょっと開いておくつもりですが、基本的には数分後にChromeのタブをリフレッシュしました(フォーラムに投稿した後など) template.htmファイル内の要素へのリンクが取得され、template_replace_valuesコンフィグレーションオブジェクトのキー値として使用されるカスタムCSSクラス名が使用されたときには、匿名関数が実行されます。だから私はここでいくつかの可能性を見ることができるので私の質問に答えていると思うが、再度、アドバイス... – danjah

+0

サイドノートとして: 'staffid:getStaffId()'は 'staffid:getStaffId'にする必要があります。そのスタイルを使用してください。 – deceze

+0

よく、wikiはいくつかの場所で最新ではありません – Thariama

答えて

2

の代わりに、この:

template_replace_values : { 
    username : "Jack Black", 
    staffid : getStaffId() 
} 

これ:

template_replace_values : { 
    username : "Jack Black", 
    staffid : getStaffId 
} 

getStaffId()機能を実行し、staffidの値として、その戻り値を使用して、getStaffIdstaffidの値として関数を使用します。

関連する問題