2017-11-12 3 views
0

新しいバージョンのliferay用の単純なデータプレゼンテーションポートレットを作成する必要がありますが、本当に適切な方法を見つけることはできません。liferay 7.0用の単純なデータプレゼンテーションポートレットの作成方法

私はサービスビルダーとバックエンドを作成して、などを追加して、リストのカスタムメソッドを追加しました。このチュートリアルに基づいてMVCポートレットを作成し、[https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/updating-the-view]、それは動作しますが、いくつかの問題があります: - それは非推奨alloyUIとIに基づいていますsoy/metal.jsに移動するwan't(いずれかの経験はありません) - 結果テーブルにはソート/フィルタリング機能が必要です.WCAGと互換性がなければならない可能性がありますhtmlとjsを可能な限りきれいに保つべきではありません。

私が正しく理解していれば、私はmetal.jsとsoyで動作するもののためにこの部分を置き換える必要がありますか?

<liferay-ui:search-container total="<%=EntryLocalServiceUtil.getEntriesCount()%>"> 
<liferay-ui:search-container-results 
    results="<%=EntryLocalServiceUtil.getEntries(scopeGroupId.longValue(), 
        guestbookId, searchContainer.getStart(), 
        searchContainer.getEnd())%>" />  
<liferay-ui:search-container-row 
    className="com.liferay.docs.guestbook.model.Entry" modelVar="entry">  
    <liferay-ui:search-container-column-text property="message" />  
    <liferay-ui:search-container-column-text property="name" />  
</liferay-ui:search-container-row>  
<liferay-ui:search-iterator />  
</liferay-ui:search-container> 

liferay-7.0ではどのようにソート/フィルタリングが実装されていますか?管理バーを使用する必要があるのですか、ユーザーが列で並べ替えることを許可することは可能ですか(列見出しをクリックする)。

答えて

2

私はコードを変更しません。 AlloyUIを使用していませんが、現時点ではAlloyUIを使用していますが、最終的にはMetalに切り替わります。

サーバー側のレンダリングにとどまりたい場合は、検索コンテナの再開発に労力を費やしません。今はうまくいくはずであり、将来的にはうまくいくはずです。

並べ替えは、検索コンテナによってサポートされる必要があります。列に表示するだけでフィルタリングが難しくなります。 Liferayはより多くの検索を行い、フィルタリングを行います。

+0

はい、あなたが正しいと思われます。私はaui taglibへの直接の参照を削除するだけです。 – Robert

+1

また、auiタグを使用すると、私はあなたがまだうまくいくはずだと思います。 Liferayは内部の動作を再実装するかもしれません。だから、タグは同じJSのままで置き換えられます。 AUIの直接的な使用だけは推奨されていません。 –

関連する問題