我正在尝试使用标题栏上启用的编辑按钮创建一个简单的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>
看来问题一定出在我的配置中,但是我找不到。有人能指出我正确的方向吗?
最佳答案
如果您想要一个非常简单的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与我的FTL进行比较时,我想知道您的div类/ id是否需要遵循以下模式:
<div class="dashlet getlatestdoc">
<div id="getlatestdoc_title" class="title">
${title}
</div>
否则,编辑按钮将如何知道在哪里进行渲染?