我专门使用 Tridion 2011 的 PowerTools 扩展,但这适用于仪表板中带有按钮的任何 Anguilla 扩展。
我们可以设置<ext:title>
获得悬停工具提示。用户将鼠标悬停在 GUI 扩展按钮上即可查看此文本。请参阅示例中的“计数项目”扩展config http://code.google.com/p/tridion-2011-power-tools/source/browse/trunk/PowerTools.Editor/Configuration/editor.config#440.
<ext:extension assignid="CountItems" name="Count Items"
pageid="Power Tools" groupid="Tools">
<ext:command>PT_CountItems</ext:command>
<ext:title>Count Items</ext:title>
<ext:issmallbutton>false</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>PowerTools.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView" />
</ext:apply>
</ext:extension>
我们有一个请求将此工具提示更改为一些有用的文本 http://code.google.com/p/tridion-2011-power-tools/issues/detail?id=5当扩展未启用时。
我可以在 Chrome 控制台的按钮中看到“计数项目”文本。
<div id="CountItems" class="tridion button PT_CountItems ribbonitem disabled"
title="Count Items" c:command="PT_CountItems"
c:controltype="Tridion.Controls.RibbonButton"
style="-webkit-user-select: none; ">
<div class="image"> </div>
<div class="text">Count Items</div>
</div>
同样在控制台中,我可以选择文本周围的 div:$("div#CountItems > div.text")
。我不知道如何获取文本。
问题:当 GUI 按钮处于非活动状态时,我该如何/应该更改工具提示文本?
我可能也需要对这些进行澄清。
- 在安圭拉(或 PowerTools),是
$()
与jQuery()
?我试过$("div#CountItems > div.text").text()
并得到Object #<HTMLDivElement> has no method 'text'
- 当按钮被禁用时,是否有首选或可配置的方式来设置该工具提示?我确信我们可以在 DOM 中找到一个元素,但我可能遗漏了一些东西。
最后,
- Would
{NameSpace}.Commands.{ExtensionName}.prototype.isValidSelection = function(selection)
{ }
一般来说,是更改此工具提示的正确位置吗?
- 对于上下文菜单,我相信我们有 _isAvailable 代替。
$() 与 jQuery() 相同吗?
不会。Tridion UI 包含 jQuery 库的一个子集:sizzle CSS 选择器引擎 http://sizzlejs.com/.
因此,选择一组元素的所有常用 jQuery 技巧都可以工作,但其他 jQuery 方法(AJAX 内容、事件处理程序、实用方法)也可以not能得到的。
请注意,如果您想在扩展中使用完整的 jQuery,您可以通过将其包含在所谓的noConflict mode http://docs.jquery.com/Using_jQuery_with_Other_Libraries.
我可以设置按钮禁用时的工具提示吗?
据我所知,Tridion GUI 中的按钮只有一个工具提示,并且该工具提示会针对每个按钮状态显示。也没有ontooltip
当 GUI 即将显示工具提示时,您可以挂钩该事件来计算工具提示。
按钮确实有一个公共setTooltip
,因此一旦检测到某种情况,您就可以自行更改。如果您搜索安圭拉源代码setTooltip
您将找到一些如何使用它的示例(在欢迎屏幕中,将组件演示添加到页面时以及在蓝图查看器中)。
isValidSelection 是更改此工具提示的正确位置吗?
不要问“我可以在显示工具提示时更改它吗?”,而是尝试将其改写为“哪个状态导致哪个工具提示?我可以检测状态更改并在当时设置正确的工具提示吗?”。
如果您的工具/命令仅在选择某种类型的项目时启用,则您应该检测该条件,然后在那时设置工具提示。然后,当 GUI 需要显示工具提示时,您无需执行任何操作。
当然,这只会把你的问题推到其他地方:如何检测这个或那个条件。但您会发现,查找此类“应用程序状态更改”事件通常比查找“ontooltip”事件更容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)