2016-11-21 5 views
2

Ich möchte Methoden von LayoutImpl in Liferay 7 überschreiben. Ich habe versucht, mit Service-Wrapper, aber es gibt keine Option für diese Klasse in der Kategorie Dienstname.Wie überschreibt man LayoutImpl in Liferay 7?

Wie kann ich das erreichen? Brauche ich ModelListener dafür?

+0

Es hilft immer [Ihr Ziel zu beschreiben] (http://www.catb.org/~esr/faqs/smart-questions.html#goal) –

Antwort

1

Hinweis: Ein Service Wrapper verwendet wird Dienste wickeln. Dienstleistungen in Liferay werden normalerweise ... Service genannt, wie LayoutLocalService.

Fazit: Die Klasse LayoutImpl ist kein Dienst - deshalb können Sie es nicht mit einem Service-Wrapper umschließen.

Sie könnten LayoutLocalService in einem Service-Wrapper umbrechen, die Rückgabewerte in Ihre LayoutWrapper umbrechen und die Parameter auspacken. Aber das ist mühsam und wird Liferay-Upgrades verhindern.

Wenn Sie LayoutImpl für die Behebung von Fehlern überschreiben möchten, sollten Sie dafür ein Ext Plugin verwenden.

Ein ModelListener kann nur den Inhalt während Updates eines Artikels ändern, nicht die Implementierung - ich denke nicht, dass dies hier helfen wird.

+0

Unterstützt liveray 7 ext? Wenn ja, bitte geben Sie mir den Link des Tutorials in Bezug auf .. –

+0

Ich habe es nicht getestet. Aber ich würde vermuten, da der ExtDeployer immer noch Teil von Portal-Impl ist. Eine kurze Google-Suche findet diesen Link: [Erweiterte Anpassung mit Ext Plugins] (https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/advanced-customization-with-ext-plugins) –