クエリから結果が返されない場合に、コンテンツ検索 Web パーツ全体 (Web パーツのタイトルと境界領域を含む) を非表示にする方法を探しています。
私が試したこと
「ShouldHideControlWhenEmpty」というプロパティがありますが、結果がない場合は何もしません。Web パーツは引き続き表示されます。Web パーツにはタイトルとその周りの境界線があるため、結果がない場合、タイトルと境界線は結果なしで表示されます。私が言ったように、その場合はすべてを隠したいと思います。
「結果がありません」というテキスト メッセージ (結果がない場合に Web パーツから送信される) を検索し、Web パーツを非表示にする jQuery スクリプトを作成しました。ただし、Web パーツが最初に一瞬レンダリングされてから jQuery スクリプトによって消えるため、ページが読み込まれると短いちらつきがあります。これは優れた UI エクスペリエンスではありません。
そこで、OOTB の ContentBySearchWebPart を拡張して、結果のカウントを取得できるある種のプロパティを取得できると考えました。結果カウントが 0 の場合、単純に Web パーツ サーバー側を非表示にします。私はドキュメントをオンラインで見ましたが、活用できるものは何も見つかりませんでした。ヘルプ?ありがとう!