第6章

Portal Decoratorsの操作

この章では、ポータル修飾子を使用してポートレットの外観を制御する方法について説明します。この章の節は次のとおりです。

 
Top of page

ポータル修飾子について

「ポータル修飾子」は、ポートレットで生成されたダイナミックコンテンツを修飾するXSLスタイルシートです。

ポータルアグリゲータはランタイム時にポータル要求を受け取ると、要求されたページに生成するコンテンツを記述したXMLドキュメントを作成します。 ポータルアグリゲータは各ページのポートレットに修飾が必要かどうかを判断し、必要な場合はweb.xmlでPortalDecoratorStyleとして指定したポータル修飾子スタイルシートを適用します。

ポートレット用に生成されたXMLの一部を次に示します。これは簡易ポータルアプリケーションの企業ホーム共有ページに表示されます。 Minimize、Restore、およびMaximizeの3つのオプションが修飾されており、XMLコードで強調表示されています。

  <portlet-decoration>
    <display-name>Stock Quote</display-name>
    <options>
      <option>
        <option-id>minimize</option-id>
        <display-name>Minimize</display-name>
        <option-text>Min</option-text>
        <option-link>?urlType=Render&amp;amp;wsrp-windowstate=minimized&amp;amp;novl-regid=StockQuotePortlet&amp;amp;novl-inst=CorporateHome_StockQuotePortlet
        </option-link>
        <link-target/>
        <tool-tip>Minimize this content</tool-tip>
        <hide-states>
          <hide-state>minimized</hide-state>
          <hide-state>maximized</hide-state>
        </hide-states>
        <images>
          <normal>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/minimize.gif</normal>
          <onmouseout>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/minimize.gif</onmouseout>
          <onmousedown>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/minimize.gif</onmousedown>
          <onmouseover>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/minimize.gif</onmouseover>
        </images>
      </option>
      <option>
        <option-id>restore</option-id>
        <display-name>Restore</display-name>
        <option-text>Restore</option-text>
        <option-link>?urlType=Render&amp;amp;wsrp-windowstate=normal&amp;amp;novl-regid=StockQuotePortlet&amp;amp;novl-inst=CorporateHome_StockQuotePortlet
        </option-link>
        <link-target/>
        <tool-tip>Restore window state</tool-tip>
        <hide-states>
          <hide-state>normal</hide-state>
        </hide-states>
        <images>
          <normal>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/restore.gif</normal>
          <onmouseout>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/restore.gif</onmouseout>
          <onmousedown>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/restore.gif</onmousedown>
          <onmouseover>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/restore.gif</onmouseover>
        </images>
      </option>
      <option>
        <option-id>maximize</option-id>
        <display-name>Maximize</display-name>
        <option-text>Max</option-text>
        <option-link>?urlType=Render&amp;amp;wsrp-windowstate=maximized&amp;amp;novl-regid=StockQuotePortlet&amp;amp;novl-inst=CorporateHome_StockQuotePortlet
        </option-link>
        <link-target>_new</link-target>
        <tool-tip>Maximize this portlet</tool-tip>
        <hide-states>
          <hide-state>maximized</hide-state>
        </hide-states>
        <images>
          <normal>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/maximize.gif</normal>
          <onmouseout>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/maximize.gif</onmouseout>
          <onmousedown>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/maximize.gif</onmousedown>
          <onmouseover>http://localhost:8080/Director/resource/portal-theme/DottedBorder/images/maximize.gif</onmouseover>
        </images>
      </option>
    </options>
  </portlet-decoration>

 
Top of section

修飾される対象

次のコンテンツが修飾されます。

ウィンドウの状態によってポートレットが修飾される方法は異なります。 たとえば、ポートレットのウィンドウ状態がminimizedの場合、ポートレットの本文とフッタは表示されないため、これらの要素は修飾「されません」。

 
Top of section

修飾が必要な場合

次の状況で修飾が必要です。

 
Top of page

Portalサブシステムのデフォルト修飾子の使用

exteNd Directorには、リソースセットのportal-styleディレクトリに配置されたPortalDefaultDecorator.xslというポータル修飾子スタイルシートがデフォルトで用意されています。 このスタイルシートはweb.xmlでデフォルトの修飾子スタイルシートとして次のように指定されています。

  <context-param>
          <param-name>PortalDecoratorStyle</param-name>
          <param-value>PortalDefaultDecorator</param-value>
          <description>This stylesheet is used to decorate the portlet data. Titlebar, border, options, etc...</description>
  </context-param>

デフォルトのポータル修飾子スタイルシートでは、各ポートレットの3つの領域(タイトルバー、ポートレット本文、およびフッタ)をそれぞれ別個のHTMLテーブルで指定します。 各テーブルの内部では、スタイルシートがCSSクラスを使用して、生成されるHTML要素を指定します。 修飾子スタイルシートのCSSクラスは、テーマスタイルシートにある同じCSSクラスに対応しています。 この関連づけにより、修飾された対象は現在選択されているテーマに定義された表示特性に準拠するようになります。

たとえば、タイトルバー領域のテーブルタグは、s3-titleBarBorderLeftをそのクラスの1つとして指定します。 次のBasicBlue theme.cssファイルの例のように、このクラスの表示特性はテーマのCSSファイルで定義されます。

  .nv-titleBarBorderLeft, .s3-titleBarBorderLeft {
  	   background-image : url(images/TitlebarLeft.gif);
  	   background-repeat : no-repeat;
  	   background-position : top left;
  	   width : 12px;
  }

For more information    テーマとポートレット修飾子間の通信の詳細については、を参照してください。

タイトルバー   次の抜粋では、デフォルトの修飾子スタイルシートがタイトルバーの修飾を指定する方法を示します。

  <!-- TitleBar Fragment -->
  <table border="0" cellpadding="0" cellspacing="0" class="s3-titleBarContainer" width="100%">
  	 <tr>
  	 	 <td class="s3-titleBarBorderLeft">\xc2  </td>
  	 	 <td class="s3-titleBarContentLeft" nowrap="true">
  	 	 	 <xsl:value-of select="display-name"/>
  	 	 </td>
  	 	 <td class="s3-titleBarContentRight">
  	 	 	 <xsl:apply-templates select="options"/>
  	 	 </td>
  	 	 <td class="s3-titleBarBorderRight">\xc2  </td>
  	 </tr>
  </table>
  

ポートレット本文   次の抜粋では、デフォルトの修飾子スタイルシートがポートレット本文の修飾を指定する方法を示します。

  <!-- Portlet Body -->
  <table border="0" cellpadding="0" cellspacing="0" class="s3-bodyContainer" width="100%">
  	 <tr>
  	 	 <td class="s3-bodyBorderLeft">\xc2  </td>
  	 	 <td>
  	 	 	 <xsl:apply-templates select="../portlet-data"/>
  	 	 </td>
  	 	 <td class="s3-bodyBorderRight">\xc2  </td>
  	 </tr>
  </table>

フッタ   次の抜粋では、デフォルトの修飾子スタイルシートがフッタの修飾を指定する方法を示します。

  <!-- Footer Fragment Nonbreaking Space: &#160; -->
  <table border="0" cellpadding="0" cellspacing="0" class="s3-footerContainer" width="100%">
  	 <tr>
  	 	 <td class="s3-footerBorderLeft">\xc2  </td>
  	 	 <td class="s3-footerContentLeft">\xc2  </td>
  	 	 <td class="s3-footerContentRight">\xc2  </td>
  	 	 <td class="s3-footerBorderRight">\xc2  </td>
  	 </tr>
  </table>

 
Top of page

カスタム修飾子の作成

カスタム修飾子を作成するには、XSLスタイルシートを作成し、web.xmlでスタイルシートの名前を置換する必要があります。カスタムスタイルシートはテーマのスタイルシートであるtheme.cssファイルで指定したクラスと同じクラスを使用する必要があります。 次の手順は、デフォルトの修飾子スタイルシートをコピーしてカスタム修飾子を作成する方法を説明します。

Procedure カスタム修飾子を作成する

  1. exteNd Directorを起動し、目的のプロジェクトを開きます。

  2. プロジェクトのリソースセットにあるportal-styleディレクトリでPortalDefaultDecorator.xslを開きます。

  3. 同じディレクトリにスタイルシートを新しい名前で保存します。

  4. テーマクラスに対応したクラスは維持しながら、必要に応じてスタイルシートを変更します。

  5. プロジェクトのWEB-INFディレクトリにあるweb.xmlを開き、PortalDecoratorStyleを右クリックして[プロパティ]を選択します。

    PortalDecoratorStyleのプロパティシートが開きます。

  6. プロパティシートで、[コンテキストパラメータ]タブをクリックします。

  7. [パラメータ値]フィールドでPortalDecoratorStyleを、使用する修飾子スタイルシートの名前に置き換えます。

  8. web.xmlを保存して、プロジェクトを再展開します。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...