0

我在 Tridion 中有一个嵌入式组件,它具有 Image 字段(名为 LeadImage)。使用自定义弹出窗口,我想在此图像字段(leadImage)中链接图像。可能吗?这必须通过单击组件的“保存”事件来完成,因此主要是 jquery/javascript。

要链接的图像已经在 CMS 系统中。默认情况下,它将通过在自定义弹出窗口中执行一些其他操作来创建。我将拥有图像的 tcmid/图像名称等。

无法找到有关 Anguilla Api 的太多文档来帮助我实现这一目标。

4

3 回答 3

6

是的,可以使用 Anguilla 框架覆盖 SDL Tridion GUI 中的“插入组件”按钮。

有大量关于 anquilla 框架的帖子......我推荐这个http://albertromkes.com/2012/01/30/tridion-gui-extensions-how-to-load-a-javascript- without-showing-a-gui-element/向您展示如何将您自己的 javascript 注入特定的“视图”

要覆盖插入组件按钮,您只需删除事件处理程序:

// remove the default insert behavior which is to open up the item select dialog
$log.message("Removing handlers for the insert event");
$evt.removeAllEventHandlers(fieldBuilder, "insert");

然后你可以通过添加你自己的事件处理程序来放置你自己的功能:

// add our own insert behavior
$log.message("Adding a custom handler for the insert event");
$evt.addEventHandler(fieldBuilder, "insert", function(event) {
  // whatever it is you wish to do :)
}

希望这可以帮助!

于 2013-01-31T00:07:44.557 回答
0

我将假设一个“嵌入式组件”是一个Component Link允许Multimedia Links或可能是一个Multimedia Link本身(在模式字段选项中)。

开箱即用的架构字段默认值

除了您使用“自定义弹出窗口中的某些其他操作”创建图像以设置默认链接组件这一事实之外,您可以:

  1. Default Value在架构字段的链接项目中设置
  2. 设置Default模板或渲染逻辑

关系

否则,使用多种方法之一创建图像之间的关系:

  • 手动管理列表(“链接列表”或“容器”组件)
  • “配置”组件(键值对)
  • 组织项目——特定文件夹中的项目
  • 命名约定——具有相似名称的项目一起呈现
  • 类别和关键字(分类法分类)

作者希望能够控制他们链接到哪些图像或自动添加它们以进行渲染。它不一定必须在组件中。

变化和蓝图

虽然对特定字段的扩展当然是可能的,但为特定模式字段中的特定字段创建此扩展存在风险。确保您的方法适用于新组件、新逻辑和架构更改。

如果您有添加leadimage. 还要确保您的组件 ID 使用正确的发布 ID 用于创建这些组件的位置。

例如,您需要处理 tcm-id 来自比 020 内容出版物更低的出版物的本地化版本。

听起来像是一个有趣的要求,请对其他操作应该做什么发表评论。

于 2013-01-31T00:41:13.607 回答
0

感谢约翰的快速回复。这与我正在寻找的一致。

由于我的字段生成器将有很多字段,我已将代码修改如下:

var imageField = fieldBuilder.getField("lead_image"); // Where lead_image is the name for ImageField in this component

// remove the default insert behavior which is to open up the item select dialog
$log.message("Removing handlers for the insert event");
$evt.removeAllEventHandlers(imageField "insert");

// add our own insert behavior
$log.message("Adding a custom handler for the insert event");
$evt.addEventHandler(imageField , "insert", function(event) {
}

在 addeventhandler 中是否可以根据需要设置 Title 和 ImageIcon ?无法在 Anquilla Api 或其他任何地方找到它。

于 2013-01-31T10:09:02.637 回答