Tridion 当仪表板按钮被禁用时,我们可以显示不同的工具提示吗?
我专门为Tridion 2011使用PowerTools扩展,但这适用于仪表板上带有按钮的任何Anguilla扩展 我们可以设置Tridion 当仪表板按钮被禁用时,我们可以显示不同的工具提示吗?,tridion,tridion-2011,Tridion,Tridion 2011,我专门为Tridion 2011使用PowerTools扩展,但这适用于仪表板上带有按钮的任何Anguilla扩展 我们可以设置,将鼠标悬停在工具提示上。用户将鼠标悬停在GUI扩展按钮上以查看此文本。请参见中“计数项目”扩展的示例 PT_计数项目 清点物品 假的 电动工具.命令 当扩展未启用时,我们有一个请求 我可以在Chrome控制台的按钮中看到“计数项目”文本 清点物品 同样在控制台中,我可以选择文本周围的div,并使用:$(“div#CountItems>div.text”)。我不
,将鼠标悬停在工具提示上。用户将鼠标悬停在GUI扩展按钮上以查看此文本。请参见中“计数项目”扩展的示例
PT_计数项目
清点物品
假的
电动工具.命令
当扩展未启用时,我们有一个请求
我可以在Chrome控制台的按钮中看到“计数项目”文本
清点物品
同样在控制台中,我可以选择文本周围的div,并使用:$(“div#CountItems>div.text”)
。我不知道如何得到文本
问题:
当GUI按钮处于非活动状态时,如何/应该更改工具提示文本?
我可能也需要澄清这些问题
- 在安圭拉(或PowerTools)中,
与$()
相同吗?我尝试了jQuery()
和get$(“div#CountItems>div.text”)。text()
对象没有方法“text”
- 当按钮被禁用时,是否有首选或可配置的方法来设置工具提示?我确信我们可以在DOM中找到一个元素,但我可能遗漏了一些东西
- 将
通常是更改此工具提示的正确位置吗{NameSpace}.Commands.{ExtensionName}.prototype.isValidSelection=function(selection) {}
- 对于上下文菜单,我认为我们可以使用
ontooltip
事件
按钮确实有一个公共的设置工具提示
,因此一旦检测到某种情况,您可以自己更改它。如果您在安圭拉源代码中搜索setTooltip
,您将发现一些如何使用它的示例(在欢迎屏幕、向页面添加组件演示时以及在BluePrint viewer中)
isValidSelection是更改此工具提示的正确位置吗?
请尝试将其改为“哪个状态导致哪个工具提示?我是否可以检测到状态更改并在该时间设置正确的工具提示?”而不是询问“显示时是否可以更改工具提示?”
如果工具/命令仅在选择特定类型的项目时启用,则应检测该条件,然后在此时设置工具提示。然后,当GUI需要向您显示工具提示时,您无需执行任何操作
当然,这只会把问题推到其他地方:如何检测这种或那种情况。但您会发现,查找此类“应用程序状态更改”的事件通常比查找“ontooltip”的事件更容易。您可以扩展现有命令并调用其“\u isAvailable”或“\u isEnabled”方法,检查它们是否返回false,然后更改工具提示?谢谢,根据@Nuno annd@Frank的反馈,我打算用
$controls.getControl($(“#CountItems”),“Tridion.controls.Button”).setTooltip(“Count Item is…”)设置工具提示
在PowerTools.Commands.CountItems.prototype.isValidSelection=function(selection){}
@Frank还提到了离线创建事件侦听器的选项,类似于$evt.addEventListener(“onitemselected”,function(selected){PowerTools.Button1.setTooltip(…);PowerTools.Command1.isItEnabled=…;})代码>。下一步我得试试这个。