我在 Tridion 中有一个嵌入式组件,它具有 Image 字段(名为 LeadImage)。使用自定义弹出窗口,我想在此图像字段(leadImage)中链接图像。可能吗?这必须通过单击组件的“保存”事件来完成,因此主要是 jquery/javascript。
要链接的图像已经在 CMS 系统中。默认情况下,它将通过在自定义弹出窗口中执行一些其他操作来创建。我将拥有图像的 tcmid/图像名称等。
无法找到有关 Anguilla Api 的太多文档来帮助我实现这一目标。
我在 Tridion 中有一个嵌入式组件,它具有 Image 字段(名为 LeadImage)。使用自定义弹出窗口,我想在此图像字段(leadImage)中链接图像。可能吗?这必须通过单击组件的“保存”事件来完成,因此主要是 jquery/javascript。
要链接的图像已经在 CMS 系统中。默认情况下,它将通过在自定义弹出窗口中执行一些其他操作来创建。我将拥有图像的 tcmid/图像名称等。
无法找到有关 Anguilla Api 的太多文档来帮助我实现这一目标。
是的,可以使用 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 :)
}
希望这可以帮助!
我将假设一个“嵌入式组件”是一个Component Link
允许Multimedia Links
或可能是一个Multimedia Link
本身(在模式字段选项中)。
除了您使用“自定义弹出窗口中的某些其他操作”创建图像以设置默认链接组件这一事实之外,您可以:
Default Value
在架构字段的链接项目中设置Default
模板或渲染逻辑否则,使用多种方法之一创建图像之间的关系:
作者希望能够控制他们链接到哪些图像或自动添加它们以进行渲染。它不一定必须在组件中。
虽然对特定字段的扩展当然是可能的,但为特定模式字段中的特定字段创建此扩展存在风险。确保您的方法适用于新组件、新逻辑和架构更改。
如果您有添加leadimage
. 还要确保您的组件 ID 使用正确的发布 ID 用于创建这些组件的位置。
例如,您需要处理 tcm-id 来自比 020 内容出版物更低的出版物的本地化版本。
听起来像是一个有趣的要求,请对其他操作应该做什么发表评论。
感谢约翰的快速回复。这与我正在寻找的一致。
由于我的字段生成器将有很多字段,我已将代码修改如下:
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 或其他任何地方找到它。