1

我正在尝试创建一个简单的 Alfresco dashlet,并在标题栏上启用了编辑按钮。不幸的是,我不知道如何让编辑按钮实际显示在标题栏上。

这是我到目前为止所拥有的:

dashlet desc 文件(.desc.xml)

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

我的主要 freemarker 模板文件(.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

如果您想要一个以这种方式设置为可配置的非常简单的 dashlet 的工作示例,请参阅http://code.google.com/p/alfresco-get-latest-document。这篇博文设置了基本功能:http ://ecmarchitect.com/archives/2012/05/08/1592 。此博客文章对此进行了扩展,以使初始 dashlet 可配置: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

正如 Jeff 建议的那样,您需要<div>在标记中包含一个用于 dashlet 标题栏的元素,并为该属性提供适当的值class,如下所示

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

Alfresco.widget.DashletTitleBarActions您的内联 JavaScript 代码创建的实例被实例化时,它将寻找<div>具有该类的子类title并在那里添加操作。

我还向dashlet父 div 添加了一个类,这是应用默认 dashlet 样式所必需的。

于 2012-08-29T13:49:44.760 回答