gpt4 book ai didi

inline - 在 SiteEdit 2009 中加载页面时出现 "Could not get the type info from component xml schema"

转载 作者:行者123 更新时间:2023-12-01 12:54:41 24 4
gpt4 key购买 nike

我使用此处给出的答案在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com