- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用此处给出的答案在 SitEdit 2009 SP2 上启用了内联编辑
How do I enable inline field editing in SiteEdit when using an XSLT TBB?
但在 SiteEdit 中加载生成的页面时,我不断收到此错误:
Sys.FormatException: Could not get the type info from component xml schema. Field: cf_tcm:20-33457-64_content_header XPath: [1]
我的 XSLT TBB 片段:
<xsl:if test="//*[local-name()='content_header'] != ''">
<h1>
<div>
<tcdl:ComponentField name="content_header" index="0">
<xsl:value-of select="//*[local-name()='content_header']">
</tcdl:ComponentField>
</div>
</h1>
</xsl:if>
发布文件中的输出:
<h1>
<div>
<span>
<!-- Start SiteEdit Component Field: {"ID" : "cf_tcm:20-33457-64_content_header", "XPath" : "[1]", "IsMultiValued" : false} -->
<tcdl:ComponentField name="content_header" index="0" SiteEditProcessed="true">
Test
</tcdl:ComponentField>
</span>
</div>
</h1>
我的代码有什么问题?
最佳答案
该错误消息意味着 <!-- Start SiteEdit Component Field: { ...} -->
中的 XPath命令未指向当前组件中的字段。鉴于您的 XPath 显示为 [1]
,听起来很准确。
您需要找到输出空 XPath 的原因。在您的 XSLT 中,您用 <tcdl:ComponentField>
标记该字段 wrapper 。此包装器稍后由“启用内联编辑”TBB 处理以生成相应的 <!-- Start SiteEdit Component Field ... -->
。命令。由于 SiteEdit 前端需要该字段的 XPath 和 tcdl:ComponentField
仅包含字段名称,TBB 将需要根据字段名称查找 XPath。
SiteEdit 2009 中的“启用内联编辑”TBB 在处理 tcdl:ComponentField
时查找当前组件通过查看当前已解决的项目 ( engine.PublishingContext.ResolvedItem.Item.Id
)。然后查找该组件中的字段以确定其 XPath。
如果您查看模板生成器中的包,包列表底部的组件是什么?该组件是否包含 content_header
领域?
关于inline - 在 SiteEdit 2009 中加载页面时出现 "Could not get the type info from component xml schema",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436067/
我是一名优秀的程序员,十分优秀!