【问题标题】:Can we replace the <add text> labels in SiteEdit 2012 (on Tridion 2011)?我们可以替换 SiteEdit 2012(在 Tridion 2011 上)中的 <add text> 标签吗?
【发布时间】:2012-06-24 13:01:53
【问题描述】:

现在我一直在实施用户界面 2012,经过一些障碍后它工作得很好。我一直在寻求优化任何 UI 可编辑字段的可用性,并遇到了相关的挑战。

在一个组件中,有几个字段不是必需的,因此当它们为空时不应显示。一旦编辑器进入 UI 并选择包含所述字段的组件,就会出现几个标签,例如 &lt;add text&gt;&lt;add internal link to component media&gt;

我希望将这些标签更改为更能描述其内容的内容,因为当字段不为空时,将向页面添加额外的 html。

例如(使用 Razor Mediator):

@if(Component.Fields.location != null) {
  <span class="row">
    <strong>Where:</strong>
    <span>@RenderComponentField("location", 0)</span>
  </span>
} else {
  <tcdl:ComponentField name="location"></tcdl:ComponentField>
}

当位置字段为空时,它只会显示&lt;add text&gt;。我想把它改成&lt;Add location to event&gt;

我尝试在 tcdl-tags 之间放置一些东西,但即使在 UI2012 中未编辑时它们也会显示。我一直在搜索 SDL Live 内容站点,但找不到任何参考。有人有想法吗?

【问题讨论】:

  • 嘿,MDa,这是一个非常有趣的问题。不幸的是,您可能会注意到,使用新 UI 的体验仍然有些不足(但增长迅速)。您是否考虑加入我们的提案以获取单独的 Tridion 站点? area51.stackexchange.com/proposals/38335/…

标签: tridion siteedit


【解决方案1】:

不支持自定义空字段的占位符文本的方法。但你可以尝试编写一个扩展,覆盖以下方法:

Tridion.Web.UI.SiteEdit.ComponentField.prototype.setPlaceholderType

此方法负责设置占位符文本。

【讨论】:

    【解决方案2】:

    当我检查这个时,我正在寻找相同的东西,但我不认为这很容易 AFAIK。我深入一点,发现标签是资源文件Tridion.Web.UI.Editors.SiteEdit.Strings.resxEmptyTextField 的一部分。我没有寻求解决这个问题的选项,因为它不是受支持的方式,也没有记录在案,除此之外,我仍然没有为每个字段添加我自己的文本的灵活性。

    回到您的问题,我提出了一个想法(不一定回答您的问题),并想在这里分享,以便专家提供一些有价值的建议。我没有尝试这个选项(我觉得工作量太大),这在我的长长的待办事项列表中,并且可能也有一些缺点。

    • 使用“默认值”(例如“将位置添加到事件”)创建架构字段。默认文本将显示在您的 UI 中。

    • 如果 Schema 字段值与默认值相同,则编写您的模板

    @@if(Component.Fields.location.value == [Compare the schema field definition - default value of the field]) { 
        //--> Note: I could not find a straight API for this.. but I am assuming it should be there.
        @RenderComponentField("location", 0)
    } else {
        <span class="row">
            <strong>Where:</strong>
            <span>@RenderComponentField("location", 0)</span>
        </span>
    }
    
    • 根据启用的目标类型 UI 执行上述条件检查,因为我们不想显示实时目标等的默认文本。

    此外,将 Tridion Idea 发布为增强请求也会很棒。如果还没有的话,我会在接下来的几天内完成。

    【讨论】:

      【解决方案3】:

      我喜欢这种方法,因为它是一种在现场级别提供作者指示的快捷方式。我们通常使用描述字段在 CME 中提供此类帮助。

      对于内联编辑,content types(SDL 实时内容 - 需要登录)是另一种选择,因为它们定义了架构(和 原型组件)、模板、说明和“保存到”上下文。您可以提供作者替换的虚拟文本。

      提示:

      • 在原型组件中添加示例内容和/或说明 (Lorem Ipsum)。
      • 在内容类型描述中添加额外说明。
      • 选择原型组件文件夹以外的存储位置。

      让我们知道进展如何。 :-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-17
        • 2012-07-22
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 2012-08-23
        • 2012-03-27
        • 1970-01-01
        相关资源
        最近更新 更多