1

我使用 alfresco 4.2c,在过去的几天里,我真的试图创建一个网站页面(如日历、讨论等),它是“知识库”,并用几个 dashlets 呈现它。我遵循了 alfresco 3.4(http:// /docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Fconcepts%2Fsite-component-add.html)创建页面站点的文档并正确遵循说明。但是在创建页面站点并将其添加到站点后,当我单击特定选项卡(位于导航栏的链接)时,它仅显示特定知识库站点页面的页眉部分和页脚部分

scope='template' 不渲染 :(

所有编码都与上面给出的链接中提到的代码相同。

知识库.get.desc.xml

<webscript>
<shortname>Knowledge Base</shortname>
<description>A summary of all Knowledge Base articles</description>
<family>site-dashlet</family>
<url>/components/knowledgebase</url>
</webscript>

知识库.get.html.ftl

<div class="dashlet knowledgebase">
<div class="title">${msg("header.knowledgebase")}</div>
<div class="body">
<div class="msg">
<#if (error?exists)>
<div>${msg("error.call")}</div>          
<#else>
<table>
<tr>
<td>${msg("label.all")}:</td>
<td>${all}</td>
</tr>
<tr>
<td><ahref="${url.context}/page/site/${page.url.templateArgs.site!""}/documentlibrary
         filter=tag&filterData=draft#" class="theme-color-1">${msg("label.drafts")}</a>:       

</td>
<td>${drafts}</td>
</tr>
<tr>
<td><a href="${url.context}/page/site/${page.url.templateArgs.site!""}/documentlibrary?                    

filter=tag&filterData=pending#" class="theme-color-1">${msg("label.pendingApprovals")}  

 </a>:                                 </td>
 <td>${pendingApprovals}</td>                   
 </tr>
 <tr>
 <td><a href="${url.context}/page/site/${page.url.templateArgs.site!""}/documentlibrary?

 filter=tag&filterData=current#" class="theme-color-1">${msg("label.current")}</a>:</td>
 <td>${current}</td>
 </td>
 <tr>
 <td><a     

 href="${url.context}/page/site/${page.url.templateArgs.site!""}/documentlibrary?   

 filter=tag&filterData=archived#" class="theme-color-1">${msg("label.archived")}</a>: 

 </td>
 <td>${archived}</td>
 </td>
 </table>
 </#if>
 </div>
 </div>
 </div>

org.alfresco.knowledgebase.ftl

<#include "include/alfresco-template.ftl" />

<@templateHeader/>

<@templateBody>
<div id="hd">
<@region id="header" scope="global" protected=true />
<@region id="title" scope="template" protected=true />
<@region id="navigation" scope="template" protected=true />
</div>
<div id="bd">
<div>
<div id="yui-main">
<div id="divknowledgebaseList">
<@region id="knowledgebase" scope="template" />
</div>
</div>
</div>
</div>
</@>

<@templateFooter>
<div id="ft">
<@region id="footer" scope="global" protected=true />
</div>
</@>`

我已经实现了 template.knowledgebase.knowledgebasexml template.navigation.knowledgebasexml、
template.title.knowledgebasexml 和 template.toolbar.knowledgebasexml 文件,如文档中所述...

但是知识库网站页面没有按预期呈现,它只输出页眉和页脚。它不输出导航栏,我在模板文件中提到的小面板

请帮助解决这个问题。非常感谢任何支持:)

4

2 回答 2

1

我认为您的模板实例不正确。这是我创建的模板实例,效果很好:

<?xml version='1.0' encoding='UTF-8'?>
<template-instance>
   <template-type>com/ciber/create-groups</template-type>
   <description>Create Groups page</description>
   <properties>
      <pageFamily>site-members</pageFamily>
   </properties>
   <components>

      <!-- Title -->
      <component>
         <region-id>title</region-id>
         <url>/components/title/collaboration-title</url>
      </component>

      <!-- Navigation -->
      <component>
         <region-id>navigation</region-id>
         <url>/components/navigation/collaboration-navigation</url>
      </component>

      <!-- Members Bar -->
      <component>
         <region-id>membersbar</region-id>
         <url>/components/invite/members-bar</url>
      </component>

      <!-- Groups List -->
      <component>
         <region-id>create-groups</region-id>
         <url>/components/create-groups</url>
      </component>

   </components>
</template-instance>

供您参考,您使用属性定义的模板<@region>未填充适当的组件

于 2013-06-07T07:15:32.960 回答
0

非常感谢您 Tahir Malik,您的方法是正确的。我的方法中的问题是我错误地提到了<source-id>组件模板。source-id 应该是指模板实例。

以下是导航组件的更正后的 template.navigation.knowledge.xml

<?xml version='1.0' encoding='UTF-8'?>
<component>
<scope>template</scope>
<region-id>navigation</region-id>
<source-id>knowledgebase</source-id>
<url>/components/navigation/collaboration-navigation</url>
</component>
于 2013-06-07T11:25:30.890 回答