2

すべてのページに1つのレイアウトコンポーネントがあります。ユーザーの希望に基づいてこのコンポーネントを切り替えたいと思います。現在のレイアウトコンポーネントを返すために各ページにプロパティを追加したくありません。

4

1 に答える 1

3

固定数のレイアウトがあると仮定すると、ブロックを使用できます。あなたの layout.tml は次のようになります。

   <t:delegate to="layout"/>

   <t:block id="layout1">
     <body>...</body>
   </t:block>

   <t:block id="layout2">
     <body>...</body>
   </t:block>

あなたのlayout.javaは次のようになります:

  public Object getLayout() {
    if (...) {
      return _layout1;
    } else {
      return _layout2;
    }
  }

  @Inject
  private Block _layout1;

  @Inject
  private Block _layout2;
于 2009-09-12T16:11:03.753 に答える