我正在创建一个自定义共享页面,该页面上没有Alfresco UI,但仍需要访问Alfresco和YAHOO对象。
我已经成功创建了该页面,并使其在新标签页中打开,但是我收到了Alfresco和YAHOO对象未定义的错误。
我必须添加到我的Freemarker模板才能访问这些对象的最低要求是什么?
更新:我已经加载了Alfresco和YAHOO对象,但现在得到“未捕获错误:扩展失败,请检查是否包含所有依赖项。”
以下是freemarker和javascript包括我到目前为止,如果它有帮助:
<#import "import/alfresco-common.ftl" as common />
...
<script type="text/javascript" src="../scripts/ajax/yahoo/yahoo-min.js"> </script>
<script type="text/javascript" src="../scripts/ajax/yahoo/connection/connection-min.js"> </script>
<script type="text/javascript" src="../scripts/ajax/common.js"> </script>
<script type="text/javascript" src="../scripts/ajax/utilities/utilities.js"> </script>
<script type="text/javascript" src="../yui/yuiloader/yuiloader.js"> </script>
<script type="text/javascript" src="../js/alfresco.js"> </script>
更新2:基于第一个答案,模板的前几行看起来像这样,并再次产生未捕获的ReferenceError:YAHOO未定义:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<region-id>head-resources</region-id>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<title></title>
<script>
var urlParams;
更新3:我已将源减少到证明问题所需的最小值。接下来是模板组件定义文件,后面是freemarker模板本身。定义:
<?xml version='1.0' encoding='UTF-8'?>
<page>
<title>iPad Viewer</title>
<title-id>page.iPad.title</title-id>
<description>iPad Viewer</description>
<description-id>page.iPad.description</description-id>
<template-instance>viewer-ipad</template-instance>
<authentication>user</authentication>
</page>
Freemarker模板:
<html>
<body>
<div class="content">
<@region-id>head-resources</@region-id>
<script>
alert(YAHOO);
alert(Alfresco);
</script>
</div>
</body>
</html>
错误是:
Caused by: freemarker.core.ParseException: Parsing error in template "org/alfresco/viewer-ipad.ftl" in line 11, column 7: Unclosed @... when the end of the file was reached.
答案 0 :(得分:1)
我不确定您是如何创建页面的,但在定义区域时不需要这样做。
可能<region-id>head-resources</region-id>
中有所有内容因此如果您在页面模板中包含该内容就足够了。