Ich verwende eine Freemarker-Vorlage, um Webinhalte anzuzeigen, die in einem Asset-Publisher aufgelistet sind.Zugriff auf Portlet-Namespace in Freemarker-Vorlage
In der Vorlage Ich versuche, das Portlet-Namespace zuweisen, um einige Asset-Funktionen zu verwenden (wie das Drucken die Eingabe) wie diese
<#attempt>
<#assign namespace = request["portlet-namespace"]>
<#recover>
<#assign namespace = 'undefined'>
</#attempt>
So wird die Drucktaste gedrückt hält te Code unten
<a href="javascript:${namespace}printPage_0();" title='Print'>
printPage
ist die Methode in liferay Asset Publisher-Code verwendet in asset_print.jspf
Nun, funktioniert alles gut: wenn Beim Überprüfen der Seite in einem Browser habe ich überprüft, dass der Namespace berechnet und der Namespace-Variablen zugewiesen wurde (und kein Fehler in der Benutzeroberfläche angezeigt wird). Allerdings meldet Liferay Portal des jedes Mal nach den Benutzern die gesamten Web-Inhalte zu sehen versucht (dh. Klickt auf mehr lesen) aus dem Asset-Verlag
Expression request["portlet-namespace"] is undefined on line
Wer hat dieses Problem gesehen? Gibt es eine andere Möglichkeit, den Portlet-Namespace in einer Freemarker-Vorlage abzurufen?