在AEM 6.2中,如何在已经具有可编辑页面模板的站点上创建静态页面模板?

在AEM 6.2中,如何在已经具有可编辑页面模板的站点上创建静态页面模板?,aem,sling,Aem,Sling,我在我们的网站上创建一个已经有可编辑页面的静态页面模板时遇到问题。我不确定我是否只是创建了错误的模板,缺少了一个必需的调用,或者是否存在配置模板,AEM没有检查应用程序中的模板 我在应用程序中定义了我的静态模板,其中表示定义静态模板 apps/<site-name>/templates/<template-name> apps//模板/ 我的可编辑模板在 content/conf/<site-name>/settings/wcm/templates co

我在我们的网站上创建一个已经有可编辑页面的静态页面模板时遇到问题。我不确定我是否只是创建了错误的模板,缺少了一个必需的调用,或者是否存在配置模板,AEM没有检查应用程序中的模板

我在应用程序中定义了我的静态模板,其中表示定义静态模板

apps/<site-name>/templates/<template-name>
apps//模板/
我的可编辑模板在

content/conf/<site-name>/settings/wcm/templates
content/conf//settings/wcm/templates
我尝试将静态模板添加到conf templates目录,然后在创建新页面时,它会显示为一个选项,但是页面创建期间的属性选项卡为空,并且创建按钮变灰

这是我的应用程序静态模板.content.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
          jcr:description="Bio Page"
          jcr:mixinTypes="[mix:lockable]"
          jcr:primaryType="cq:Template"
          jcr:title="Bio Page"
          allowedPaths="[/content(/.*)?]"
          ranking="{Long}3">
    <jcr:content
            cq:designPath="/etc/designs/<site>"
            jcr:primaryType="cq:PageContent"
            sling:resourceType="<site>/components/structure/static-page/bio"
            cq:template="/apps/<site>/templates/bio-page"> 
    </jcr:content>
</jcr:root>

  • /apps//templates
    下定义时,静态模板不起作用,在上述XML for template定义中,
    jcr:content
    不应具有属性
    cq:template
    。属性
    cq:template
    存在于使用模板创建的页面中
在您尝试使用模板创建页面的位置,您将允许路径定义为/content的模板及其下的任何层次结构,但这可能受到层次结构中其他模板的属性
allowedChildren
allowedParents
的限制。尝试直接在
/content
下创建一个没有其他限制的页面。你能创建网页吗

  • /conf//settings/wcm/templates
    下移动模板时,需要将结构与模板相关联,其中定义
    sling:resourceType=“/components/structure/static page/bio”
    ,这将负责创建页面向导中定义的属性。如果重用/复制将模板从
    /apps
    粘贴到
    /conf
    ,则可能缺少此结构,添加此结构将解决此问题

确保您的sling:resourceType路径100%正确。jcr:content上的
sling:resourceType
属性的大小写是区分大小写的,因此请确保您也验证了路径中的大小写匹配

我见过同样的问题(AEM 6.2)

/apps//templates//jcr:content
我在
sling:resourceType
属性中有一个输入错误

我输入的姓名大小写不正确(
mySite
vs
mySite


更正路径解决了问题。

默认情况下,如果您通过UI创建可编辑模板,而不是手动编码,然后继续使用此模板创建站点的根页面,则可编辑模板以及站点的根页面将具有非常严格的
cq:allowedTemplates
值,例如
/conf/mysite/settings/wcm/templates/*
。要允许静态模板与同一站点上的可编辑模板共存,您需要将
/apps/mysite/components/templates/*
添加到可编辑模板的
cq:allowedTemplates

它不清楚,你想要修复什么。您希望静态模板在/apps下工作(6.2版之前的模板通常的工作方式),还是希望它是使用模板编辑器的可配置模板?
/apps/<site>/templates/<templatename>/jcr:content