恢复混合页面 Alfresco Share

Recover hybrid page Alfresco Share

我创建了一个新页面 Aikau,但我更改了 XML 文件,标准 Share 页眉和页脚之间呈现的页面内容消失了。

在这个页面中,我想要查询字符串的参数,所以我写了这段代码:

page.get.desc.xml:

<webscript>
    <shortname>My New Page</shortname>
    <url>/hdp/ws/my-new-page</url>
    <authentication>user</authentication>
</webscript>

page.get.js:

function main ()
{
    // Get the args
    var fileProp = args["test"];

    model.temp = fileProp;
}

main();

page.get.html.ftl:

Test arg: ${temp}

我必须把/hdp/ws/my-new-page放在XML文件中才能在这个页面写入FTL文件的内容...但是为什么Alfresco模板的页眉和页脚不见了? hdp 用于此目的。如果我不把 URL 放在 XML 上,页面就会显示模板。

我的代码有什么问题?或者我怎样才能恢复模板?或者添加页眉和页脚?

编辑:我已经尝试只放置 /my-new-page 而没有 /hdp/ws/ 但是当我放置 /hdp/ws/ 时参数为空。给我一个提示。

EDIT2:我已经尝试导入 alfresco-template.ftl 但我做不到。有什么想法吗?

你需要在这个javascript服务器上强制制作你在javascript服务器上的东西吗?如果没有,您可以创建一个接收相同参数的 javascript 客户端(location.search 给您查询字符串,因此,您可以解析该查询字符串并仅获取 "test" 你想要的)并在 FTL 文件(客户端 javascript)上调用它们。所以,当页面加载时,它不会丢失参数。这不是最好的解决方案,但您可以试试这个...

您实际上不需要在 WebScript 描述符中包含 "hdp/ws" 部分。只有“/my-new-page”是必需的。 Aikau 试图通过提供许多开箱即用的页面("hdp" 页面只是其中之一)来简化 Surf 页面的创建。

Aikau 使用 URI 模板映射将单个 WebScript 与页面匹配,例如 URL:

/share/page/hdp/ws/my-new-page

share = 应用上下文 page = Spring MVC 请求调度程序

hdp/ws/my-new-page 然后映射到 URI 模板:

<uri-template id="share-page">/{pageid}/ws/{webscript}</uri-template>

其中 "hdp" 是要呈现的页面的 ID,"my-new-page" 是 WebScript URL。 HDP 页面使用模板中的 "webscript" 标记自动创建新的 Surf 组件并将其绑定到 WebScript。

但简而言之 - 不要在 Aikau 页面的 WebScript URL 中包含 "hdp/ws"。