尝试使用SiteEdit编辑部分演示文稿时,我收到以下错误。
Sys.FormatException:无法从组件xml获取类型信息 架构。字段:cf_tcm:32-204267_title XPath: 内容/自定义:内容/自定义:标题[1]
这很奇怪,因为一些具有相同模板的组件工作正常(这些组件没有图像集,但带有图像集的组件不起作用)。
这是我CT的代码:
<div class="column v-2 siteedit">
<!-- TemplateBeginIf cond = "Component.thumbnail" -->
<!-- TemplateBeginIf cond = "Component.image" -->
<a href="@@Component.Fields.image@@" class="fb ajax">
<!-- TemplateEndIf -->
<img src="@@Component.Fields.thumbnail@@" class="align-left"
alt="@@thumbnail0.Metadata.alt@@" height="69" width="99"/>
<!-- TemplateBeginIf cond = "Component.image" -->
</a>
<!-- TemplateEndIf -->
<!-- TemplateEndIf -->
<h2>
<tcdl:ComponentField name="title">@@Component.Fields.title@@</tcdl:ComponentField>
</h2>
<p>@@Component.Fields.summary@@</p>
</div>
(我已删除其他可修改的字段,以确保它不是特定字段的问题)
有什么想法吗?
更新
根据我的(匿名)HTML请求,第一和第三个组件有问题,中间的一个很好:
<div class="general-content columns-three">
<div class="column v-2 siteedit" style="height: 209px; ">
<!-- Start SiteEdit Component Presentation: {
"ID" : "97829119-68f0-4e41-9862-b042d480cb71",
"ComponentID" : "tcm:32-204859",
"ComponentTemplateID" : "tcm:32-204536-32",
"Version" : "2",
"IsQueryBased" : false
} -->
<a href="http://REDACTED:84/_images/REDACTED.png?__Proxy=0" class="fb ajax" target="_self">
<img src="/_images/REDACTED.gif" class="align-left" alt="REDACTED" height="69" width="99">
</a>
<h2>
<span style="">
<!-- Start SiteEdit Component Field: {
"ID" : "cf_tcm:32-204267_title",
"XPath" : "tcm:Content/custom:Content/custom:title[1]",
"IsMultiValued" : false
} -->REDACTED
</span>
</h2>
<p>REDACTED</p>
</div>
<div class="column v-2 siteedit" style="height: 209px; ">
<!-- Start SiteEdit Component Presentation: {
"ID" : "2933b5e0-2006-440d-bc03-2224650bdd7d",
"ComponentID" : "tcm:32-204268",
"ComponentTemplateID" : "tcm:32-204536-32",
"Version" : "5",
"IsQueryBased" : false
} -->
<h2> <span style="">
<!-- Start SiteEdit Component Field: {
"ID" : "cf_tcm:32-204268_title",
"XPath" : "tcm:Content/custom:Content/custom:title[1]",
"IsMultiValued" : false} -->REDACTED</span>
</h2>
<p>REDACTED</p>
</div>
<div class="column v-2 siteedit" style="height: 209px; ">
<!-- Start SiteEdit Component Presentation: {
"ID" : "fac3c467-7c71-4be9-b319-8a35524ee172",
"ComponentID" : "tcm:32-204860",
"ComponentTemplateID" : "tcm:32-204536-32",
"Version" : "2",
"IsQueryBased" : false
} -->
<a href="http://REDACTED:84/_images/REDACTED.png?__Proxy=0" class="fb ajax" target="_self">
<img src="/_images/REDACTED.gif" class="align-left" alt="REDACTED" height="69" width="99">
</a>
<h2> <span style="">
<!-- Start SiteEdit Component Field: {
"ID" : "cf_tcm:32-204269_title",
"XPath" : "tcm:Content/custom:Content/custom:title[1]",
"IsMultiValued" : false
} -->REDACTED</span>
</h2>
<p>REDACTED</p>
</div>
</div>
答案 0 :(得分:4)
我在此处显示错误消息时解释了:"Could not get the type info from component xml schema" when loading a page in SiteEdit 2009
您的用例可能与该问题不同,产品总是出于同样的原因显示:它无法在当前组件中找到一个字段(在<!-- Start SiteEdit Component Field
命令中标识)(在封闭的<!-- Start SiteEdit Component Presentation
命令中标识。
给出您的错误消息:
cf_tcm:32-204267_title XPath:Content / custom:Content / custom:title [1]
组件tcm:32-204267
似乎没有名为title
的字段。
在这些情况下,如果您查看SiteEdit最终处理的HTML总是最简单的,那么您的登台/预览服务器会返回什么。找到title
字段及其封闭的组件表示,并验证组件表示确实具有名为title
的字段。
如果您想更直接地回答“我做错了什么?”,请在您的问题中添加相关的HTML-with-the-SiteEdit命令,我将更新我的答案以匹配。
根据提供的HTML进行更新
如果我查看您提供的组件和字段的ID:
tcm:32-204859
字段:cf_tcm:32-204267_title
tcm:32-204268
字段:cf_tcm:32-204268_title
tcm:32-204860
字段:cf_tcm:32-204269_title
JSON中的ID仅由SiteEdit使用,以确保一些无意义的唯一性。但在这种情况下,字段ID似乎表明该字段来自哪个组件。
如果您仔细查看数据,可以看到对于组件2,该字段指向同一个组件。对于组件1和3,字段实际上指向另一个组件。同样,Field命令的ID
属性本身并未使用。但是,有效的和不可的之间的关系似乎与SiteEdit加载包含Component Presentation
命令中指示的组件的Schema的知识非常吻合,并且无法在{{{}中指示的XPath中找到该字段。 1}}命令。
我怀疑在#1和#3中你已经在页面上放置了一些常规组件,但是正在呈现与该组件链接的多媒体组件的标题。在#2中,您最有可能呈现明确放在页面上的MMC的标题。