問題
-
再現手順:
1) コンテンツ > ドキュメント & メディアに移動します。
2) フォルダー (Test Folder1 など) を作成し、そのフォルダー内に 1 つの基本ドキュメント (Test Document1 など) を作成します。
3) ホームページに移動し、キーワード test で検索します。
4) 左側にある [ドキュメント フォルダ] をクリックします。
5) ドキュメント フォルダをクリックします。 フォルダー1 をテストします。 - 期待される結果: Test Folder1 内に存在するドキュメントが表示されるはずです。
- 観察結果: ドキュメントは表示されません。
Environment
- Liferay DXP 7.0
解決策
-
観察された動作は仕様によるものです。
検索ウィジェットで有効/無効にできる「View in Context」と呼ばれる構成があります。 ドキュメント では、次のように説明されています。
コンテキストの参照
アセットをクリックすると、ネイティブ アプリケーションで表示されます。 たとえば、検索結果のブログ投稿をクリックすると、ブログ アプリケーションでブログ エントリが投稿されているページに移動します。 検索結果をクリックすると、検索コンテキストに表示されなくなることに注意してください。 このオプションをオフにすると、検索コンテキスト内にある間、アセットは Asset Publisher ウィンドウに表示されます。 適切な権限があれば、検索コンテキストから直接コンテンツを編集することもできます。 戻る矢印をクリックして、検索結果に戻ります。
そのため、「View in Context」が有効で、ページに Document and Media ウィジェットがある場合、検索結果のフォルダをクリックすると、そのフォルダがネイティブ アプリケーションである Document and Media ポートレット内に表示され、適切なコンテキストが提供されます。 .
[View in Context] が無効になっているか、ドキュメントとメディアがサイト ページに追加されていない場合、検索結果のフォルダーをクリックすると、検索ウィジェットのコンテキストで表示されます。 技術的な背景は、検索ウィジェットが AssetRenderers を使用してさまざまなアセット タイプを表示することです。 例えば DLFolders は、フォルダーの詳細を表示するためにデフォルトで folder_full_content.jsp を使用する DLFolderAssetRenderer によってレンダリングされます。 この jsp ファイルには、設計上、最も基本的な詳細が表示されます。
- フォルダ アイコン
- フォルダの説明 (存在する場合)
- サブフォルダ数
- ドキュメント数
- expando 属性 (存在する場合)
要約すると、観察された動作は意図的なものです。 検索結果として返される DLFolders に適切なコンテキストを提供するために、
- 「View in Context」機能を使用してドキュメントとメディアに表示するか、
- 必要に応じて folder_full_content.jsp ファイルを (JSP フラグメント モジュールを使用して) カスタマイズし、レンダリングを検索ウィジェットに任せます。