問題
-
Web コンテンツのドロップダウン メニューで、独自のカスタム アイテムを構成する方法はありますか?
-
このブログ で見られる ドキュメント ライブラリ の例では、 DLDisplayContextFactory 拡張ポイントを利用しています。 Web コンテンツに相当するものはありますか?
Environment
- DXP 7.3
解決策
-
Web コンテンツの DLDisplayContextFactory のような同等の拡張ポイントはありません。 現在、 は認識されている製品の制限です。
-
ただし、市場のオーバーライドを開発することと機能的に同等である JournalArticleActionDropdownItemsProviderの Liferay ソース コードを代わりに直接変更することにより、意図した必要性 理論的には可能です。
参考 に、このコミットを使用して変更をモデル化できます。 機能するカスタム アイテムを取得するには、 JournalDisplayContext および JournalArticleActionDropdownItemsProvider が使用されます。 これは、 view_entries.jsp を見ることで確認できます。ここでは、以下を使用してドロップダウン メニューの Clay 実装を呼び出しています
<liferay-ui:search-container-column-text>
<clay:dropdown-actions
defaultEventHandler="<%= JournalWebConstants.JOURNAL_ELEMENTS_DEFAULT_EVENT_HANDLER %>"
dropdownItems="<%= journalDisplayContext.getArticleActionDropdownItems(curArticle) %>"
/>
</liferay-ui:search-container-column-text>リストは、 getArticleActionDropdownItems 使用して生成され、 DropdownItemsProviderによって生成されます。
JournalArticleActionDropdownItemsProvider 、アイテムがドロップダウン メニューに追加される場所であり、そこからさらにトレースするために使用できます。
参照:
- com.liferay.frontend.taglib.clay.servlet.taglib.util.DropdownItem
- com.liferay.frontend.taglib.clay.servlet.taglib.util.DropdownItemList;
- com.liferay.frontend.taglib.clay.servlet.taglib.util.DropdownItemListBuilder;
- com.liferay.journal.web.internal.servlet.taglib.util.JournalArticleActionDropdownItemsProvider
- modules\apps\journal\journal-web\src\main\resources\META-INF\resources\view_entries.jsp
- ElementsDefaultEventHandler
注: 明確にするために、マーケットプレイスのオーバーライドは文書化された拡張ポイントを利用しません。 マーケットプレイスのオーバーライドは、特定のニーズを達成するために Liferay の動作を強制的にオーバーライドします。
追加情報
- Web コンテンツのこの機能に対する機能要求が提起されました。 これは ここに続きます。