ToolTwist Designerでページを編集していて、通常のタブ(編集ページ、navpoint、テストページ、ソースなど)がすべて表示されていますが、[ページデータ]タブが表示されていません。タブを表示して、自分のページのページデータを入力するにはどうすればよいですか?
1 に答える
ページ データ タブは、ページ データを必要とするウィジェットがページにある場合にのみ表示されます。また、ページ データは navpoint に属し、1 つのページ定義が多くの navpoint によって共有される可能性があるため、ページではなく navpoint を編集する必要があります。つまり、ページ データにより、ウィジェットは Web サイト内のさまざまな場所 (navpoint) で異なって表示されます。
ページ データを使用するウィジェットを開発している場合は、次の手順を実行する必要があります。
Widget Controller クラスで、「UsesPageData」インターフェイスを実装します。これは、このウィジェットを含むページを参照するナビゲーション ポイントをクリックしたときにページ データ タブを表示する必要があることを Designer に伝え、タブ上に、このウィジェットの XML を入力できるセクションを作成します。ナビポイント。
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
...
}