2012-05-07 8 views
1

私はToolTwistデザイナーのページを編集していますが、編集ページ、ナビポイント、テストページ、ソースなどのすべての通常タブは表示されていますが、「ページデータ」タブは表示されません。タブの表示をするにはどうすればいいですか?ページのページデータを入力できますか?ページデータタブがデザイナに表示されないのはなぜですか?

答えて

3

ページデータタブは、ページデータを必要とするウィジェットがページにある場合にのみ表示されます。ページデータはnavpointに属し、単一のページ定義は多くのnavpointで共有されるため、ページではなくnavpointを編集する必要があります。換言すれば、ページデータは、ウィジェットがウェブサイト内の様々な場所(ナビゲーションポイント)で異なるように見えるようにする。

あなたが使用するページのデータを持っているしたいウィジェットを開発している場合は、以下の操作を行う必要があります。ウィジェットControllerクラスで

、「UsesPageData」インタフェースを実装しています。これはDesignerに、このウィジェットを含むページを参照するナビゲーションポイントをクリックしたときにページデータタブを表示する必要があることを伝え、このウィジェットのXMLを入力できるセクションを作成するタブを作成しますnavpoint。

public class CarouselTab extends WbdWidgetController implements UsesPageData

ユーザーにウィジェットが期待するXMLの指示を与えるには、テンプレートXMLコードを返すメソッドを実装する必要があります。たとえば:


    public XData getInitialPageData(WbdWidget instance) 
    { 
     StringBuffer xml = new StringBuffer(); 
     xml.append("\n"); 
     xml.append("\n"); 
     xml.append("  id01\n"); 
     xml.append("  [Label 01]\n"); 
     xml.append("  [Add your widget here 01]\n"); 
     xml.append("\n"); 
     xml.append("\n"); 
     xml.append("  id02\n"); 
     xml.append("  [Label 02]\n"); 
     xml.append("  [Add your widget here 02]\n"); 
     xml.append("\n"); 
     xml.append(""); 
     return new XData(xml); 
    } 

は、ページデータ]タブでXMLを入力する場所の上に表示される名前を定義するプロパティを定義します。あなたがページを生成する際に


    protected void init(WbdWidget instance) throws WbdException 
    { 
     instance.defineProperty(new WbdStringProperty("pageDataSection", null, "PageDataSection", "")); 
     ... 
    } 

は、ページデータを使用します。


    @Override 
    public void renderForJSP(WbdGenerator generator, WbdWidget instance, UimHelper ud, WbdRenderHelper rh) throws WbdException 
    { 
     ... 
     Xpc xpc = ud.getXpc(); 
     xpc.start("tooltwist.wbd.getPagedata", "select"); 
     xpc.attrib("navpointId", WbdSession.getNavpointId(ud.getCredentials())); 
     xpc.attrib("pageDataSection", pageDataSection); 
     XData pagedata = xpc.run(); 
     // Do something with the page data 
     ... 
    } 
関連する問題