编辑某些组件时SDL Tridion SiteEdit 2009 SP2 XPath错误

时间:2012-06-07 14:04:26

标签: tridion tridion2009 siteedit

尝试使用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>

1 个答案:

答案 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:

  1. 组件:tcm:32-204859字段:cf_tcm:32-204267_title
  2. 组件:tcm:32-204268字段:cf_tcm:32-204268_title
  3. 组件:tcm:32-204860字段:cf_tcm:32-204269_title
  4. JSON中的ID仅由SiteEdit使用,以确保一些无意义的唯一性。但在这种情况下,字段ID似乎表明该字段来自哪个组件。

    如果您仔细查看数据,可以看到对于组件2,该字段指向同一个组件。对于组件1和3,字段实际上指向另一个组件。同样,Field命令的ID属性本身并未使用。但是,有效的和不可的之间的关系似乎与SiteEdit加载包含Component Presentation命令中指示的组件的Schema的知识非常吻合,并且无法在{{{}中指示的XPath中找到该字段。 1}}命令。

    我怀疑在#1和#3中你已经在页面上放置了一些常规组件,但是正在呈现与该组件链接的多媒体组件的标题。在#2中,您最有可能呈现明确放在页面上的MMC的标题。