在使用SiteEdit编辑组件演示文稿时,我会收到以下错误。
Sys.FormatException:无法从组件xml获取类型信息。字段: cf_tcm:32-204267_title XPath: Content/定制:内容/自定义:title 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>发布于 2012-06-07 15:18:32
当错误消息出现在这里时,我解释了:"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_ XPath: Content/定制:Content/定制:title 1
组件tcm:32-204267似乎没有一个名为title的字段。
在这些情况下,如果您查看SiteEdit最终处理的HTML,那么您的临时/预览服务器返回的内容总是最简单的。查找title字段及其封装的组件表示,并验证该组件表示是否确实有一个名为title的字段。
如果你想要一个更直接的答案“我做错了什么?”,添加相关的HTML-与-SiteEdit-命令到您的问题,我将更新我的答案匹配。
基于提供的更新
如果我查看您提供的组件和字段的I:
cf_tcm:32-204267_title
tcm:32-204859字段:tcm:32-204268字段:cf_tcm:32-204268_titletcm:32-204860字段:cf_tcm:32-204269_titleSiteEdit只使用JSON中的ID来确保一些无意义的唯一性。但是在这种情况下,字段ID似乎表明字段来自哪个组件。
如果然后仔细查看数据,您可以看到对于组件2,字段指向同一个组件。对于组件1和3,字段实际上指向另一个组件。同样,字段命令的ID属性本身并不被使用。但是,工作的内容和不工作的内容之间的关系似乎与SiteEdit加载包含Component Presentation命令中指示的组件的架构,并且无法在Component Field命令中指示的XPath中找到字段的知识非常吻合。
我怀疑在#1和#3中,您已经在页面上放置了一些常规组件,但是正在呈现链接该组件的多媒体组件的标题。在#2中,您最可能呈现的是显式放置在页面上的MMC的标题。
https://stackoverflow.com/questions/10933454
复制相似问题