2012-01-08 1 views
0

Я разрабатываю простой портлета для навигации по страницам, и для каждой страницы я хотел бы иметь ссылку на ее «страницу управления» («Управление> страница» в верхней панели навигации)Как создать ссылку на «Управление страницей» в Liferay?

Есть ли у вас идеи, как это сделать? ссылка может быть сгенерирована?

Спасибо, Karol

ответ

0

Извините, мне нужно было добавить еще один ответ, поскольку комментарий был l ess charachters. Для каждого URL-адреса вам нужно создать pageSettingsURL как указано ниже. Написать следующую логику в цикле для всех раскладок сообщества вы заинтересованы в использовании класса LayoutLocalServiceUtil и передать plid

PortletURL pageSettingsURL = новый PortletURLImpl ( запрос, PortletKeys.LAYOUT_MANAGEMENT, plid, PortletRequest.RENDER_PHASE);

  pageSettingsURL.setWindowState(WindowState.MAXIMIZED); 
      pageSettingsURL.setPortletMode(PortletMode.VIEW); 

      pageSettingsURL.setParameter(
       "struts_action", "/layout_management/edit_pages"); 

      if (layout.isPrivateLayout()) { 
       pageSettingsURL.setParameter("tabs1", "private-pages"); 
      } 
      else { 
       pageSettingsURL.setParameter("tabs1", "public-pages"); 
      } 

      pageSettingsURL.setParameter("redirect", currentURL); 
      pageSettingsURL.setParameter(
       "groupId", String.valueOf(scopeGroupId)); 
      pageSettingsURL.setParameter("selPlid", String.valueOf(plid)); 
+0

Спасибо за этот удивительный фрагмент кода! – Karol

0

Попробуйте

themeDisplay.getURLPageSettings(). ToString()

Вы должны получить themeDisplay в JSP странице, если вы используете

Вы должны получить themeDisplay, как request в вашем классе портлетов

+0

Он работает, но возвращает URL-адрес «Управление страницей» только для отображаемого сайта (макета). Мне нужно создать «URLPageSettings» для любого сайта (макета), к которому у меня есть доступ. – Karol

Смежные вопросы