1

タイトル バーで編集ボタンが有効になっている単純な Alfresco ダッシュレットを作成しようとしています。残念ながら、編集ボタンを実際にタイトル バーに表示する方法がわかりません。

これが私がこれまでに持っているものです:

ダッシュレット記述子ファイル(.desc.xml)

<webscript>
   <shortname>Sample</shortname>
   <description>Displays a Sample dashlet</description>
   <family>dashlet</family>
   <url>/mycompany/components/dashlets/sample-dashlet</url>
</webscript>

メインのフリーマーカー テンプレート ファイル(.ftl)

<script type="text/javascript">
    //<![CDATA[
    var sampleDashlet = new MyCompany.dashlet.SampleDashlet("${args.htmlid}").setOptions({
        "componentId": "${instance.object.id}",
        "siteId": "${page.url.templateArgs.site!""}",
        "title": "${msg("header")}"
    }).setMessages(${messages});
    new Alfresco.widget.DashletResizer("${args.htmlid}", "${instance.object.id}");

    var editDashletEvent = new YAHOO.util.CustomEvent("onDashletConfigure");
    editDashletEvent.subscribe(sampleDashlet.onConfigClick, sampleDashlet, true);

    new Alfresco.widget.DashletTitleBarActions("${args.htmlid}").setOptions({
        actions: [{
            cssClass: "edit",
            eventOnClick: editDashletEvent,
            tooltip: "${msg("dashlet.edit.tooltip")?js_string}"
        }]
    });
    //]]>
</script>

<div class="dashlet-1"> 
 <div> Test </div>
</div>

問題は私の設定のどこかにあるようですが、見つかりません。誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

2

このように構成できるように設定された非常に単純なダッシュレットの実用的な例が必要な場合は、http://code.google.com/p/alfresco-get-latest-documentを参照してください。このブログ投稿は、基本的な機能を設定します:http: //ecmarchitect.com/archives/2012/05/08/1592。そして、このブログ投稿は、最初のダッシュレットを構成可能にするためにそれを拡張しています:http: //ecmarchitect.com/archives/2012/05/15/1599

あなたのFTLを私のものと比較する際に、あなたのdivクラス/idがこのパターンに従う必要があるかどうか疑問に思います:

  <div class="dashlet getlatestdoc">
  <div id="getlatestdoc_title" class="title">
    ${title}
  </div>

それ以外の場合、編集ボタンはそれ自体をレンダリングする場所をどのように認識しますか?

于 2012-08-14T18:12:08.373 に答える
1

<div>Jeff が示唆するように、次のように、ダッシュレットのタイトル バーの要素を、class属性に適切な値を使用してマークアップに含める必要があります。

<div class="dashlet dashlet-1">
    <div class="title">Title</div>
    <div class="body">Body content</div>
</div>

インライン JavaScript コードが作成するAlfresco.widget.DashletTitleBarActionsインスタンスがインスタンス化される<div>と、クラスtitleを持つ子が検索され、そこにアクションが追加されます。

dashletまた、デフォルトのダッシュレット スタイルを適用するために必要なクラスを親 div に追加しました。

于 2012-08-29T13:49:44.760 に答える