首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDL Tridion SiteEdit 2009 SP2 XPath错误编辑部分组件

SDL Tridion SiteEdit 2009 SP2 XPath错误编辑部分组件
EN

Stack Overflow用户
提问于 2012-06-07 14:04:26
回答 1查看 327关注 0票数 3

在使用SiteEdit编辑组件演示文稿时,我会收到以下错误。

Sys.FormatException:无法从组件xml获取类型信息。字段: cf_tcm:32-204267_title XPath: Content/定制:内容/自定义:title 1

奇怪的是,有些具有相同模板的组件工作正常(这些组件没有图像集,但是具有图像集的组件不工作)。

这是我的CT代码:

代码语言:javascript
复制
<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,第一和第三个组件有问题,中间一个很好:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

  • Component:

  • 组件:tcm:32-204859字段:tcm:32-204268字段:cf_tcm:32-204268_title
  1. Component:tcm:32-204860字段:cf_tcm:32-204269_title

SiteEdit只使用JSON中的ID来确保一些无意义的唯一性。但是在这种情况下,字段ID似乎表明字段来自哪个组件。

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10933454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档