Liferay 6.1 получить отображение темы в файле скорости (vm)

Я пытаюсь получить изображение профиля моих пользователей и отобразить его в своей теме Liferay. До сих пор я мог получить доступ к объекту User через переменную скорости $user. Модель пользователя имеет метод getPortraitUrl(), который принимает ThemeDisplay в качестве параметра. Я читал в документации liferay, что объект themeDisplay доступен во время выполнения при работе с темами, но я не могу заставить его работать.

Я пробовал несколько разных способов получить объект themeDisplay, и ни один из них не работает:

  • $theme
  • $themeDisplay
  • $request.get("theme-display")
  • $theme_display

... и несколько других методов, которые ничего не возвращают.

$user.getPortraitUrl($themeDisplay) — это то, чего я пытаюсь достичь.

Любая помощь будет принята с благодарностью


person mduck    schedule 01.10.2013    source источник


Ответы (2)


Обратите внимание, правильный метод — getPortraitURL(ThemeDisplay themeDisplay), URL — в верхнем регистре.

Попробуй это:

$user.getPortraitURL($themeDisplay)


Вы также должны иметь возможность использовать $themeDisplay.
Доступ к объектам из Velocity — полезная ссылка для всех переменных скорости жизненного луча.

person Sticcio    schedule 01.10.2013

Переменная, которую вам нужно использовать для ThemeDisplay,

$theme_display

person Ankit P    schedule 01.10.2013
comment
Да, я тоже пробовал, не получилось. Может ли быть так, что использование этой переменной отключено где-то в файлах свойств liferay? Я совершенно потерян на этом. - person mduck; 01.10.2013
comment
Я предполагаю, что вы вошли в систему, попробуйте добавить ниже в свой виртуальный компьютер $theme_display $user $user.getPortraitURL($theme_display). Он должен отображать $theme_display как объект и полные данные пользователя для вошедшего в систему пользователя и URL-адрес портрета, например /image/user_male_portrait?img_id =0&t=1380865596111. Это сработало для меня. Какую версию Liferay вы используете? - person Ankit P; 04.10.2013