4

私は特にTridion2011のPowerTools拡張機能を使用していますが、これはダッシュボードにボタンがあるすべてのAnguilla拡張機能に適用されます。

<ext:title>ホバーオーバーツールチップを取得するように設定できます。ユーザーがGUI拡張ボタンにカーソルを合わせると、このテキストが表示されます。構成の「アイテムのカウント」拡張機能の例を参照してください。

<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>

拡張機能が有効になっていない場合は、このツールチップを役立つテキストに変更するようリクエストがあります。

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">&nbsp;</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で要素を見つけることができると確信していますが、おそらく何かが足りません。

そして最後に、

  • {NameSpace}.Commands.{ExtensionName}.prototype.isValidSelection = function(selection) { }一般的に、このツールチップを変更するのに適切な場所でしょうか?
  • コンテキストメニューについては、代わりに_isAvailableがあると思います。
4

1 に答える 1

6

$()はjQuery()と同じですか?

いいえ。TridionUIには、jQueryライブラリのサブセットであるsizzleCSSセレクターエンジンが含まれています。

したがって、要素のセットを選択するための通常のjQueryトリックはすべて機能しますが、他のjQueryメソッド(AJAXのもの、イベントハンドラー、ユーティリティメソッド)は使用できません。

拡張機能で完全なjQueryを使用する場合は、いわゆるnoConflictモードに含めることで使用できることに注意してください。

ボタンが無効になっている場合のツールチップを設定できますか?

私の知る限り、Tridion GUIのボタンにはツールチップが1つしかなく、そのツールチップはボタンの状態ごとに表示されます。ontooltipGUIがツールチップを表示しようとしているときに、ツールチップを計算するためにフックできるイベントもありません。

ボタンには公開されてsetTooltipいるので、特定の状態を検出したら、自分でボタンを変更できます。Anguillaのソースコードを検索するsetTooltipと、これがどのように使用されるかの例がいくつか見つかります([ようこそ]画面、ページにコンポーネントプレゼンテーションを追加する場合、およびBluePrintビューアで)。

isValidSelectionは、このツールチップを変更するのに適切な場所ですか?

「ツールチップが表示されたときにツールチップを変更できますか?」と尋ねるのではなく、「どの状態がどのツールチップにつながるか?状態の変化を検出してその時点で正しいツールチップを設定できますか?」と言い換えてみてください。

特定のタイプのアイテムが選択されている場合にのみツール/コマンドが有効になっている場合は、その状態を検出して、その時点でツールチップを設定する必要があります。その後、GUIでツールチップを表示する必要がある場合は、何もする必要はありません。

もちろん、これは問題を別の場所に押しやるだけです。これまたはその状態を検出する方法です。ただし、「ontooltip」の場合よりも、このような「アプリケーションの状態の変更」のイベントを見つける方が簡単な場合がよくあります。

于 2012-07-01T11:15:09.037 に答える