2013-02-13 2 views
3

У меня есть диалог на моем портале, который открывает портлет. Когда я нажимаю на ссылку и открывается диалоговое окно, отображается диалоговое окноНе удалось открыть портлет в диалоговом окне liferay

У вас нет ролей, необходимых для доступа к этому портлету.

Однако, если я добавлю тот же портлет на страницу, портлет открывается без каких-либо задержек, как на странице, так и в диалоговом окне. Что мне здесь не хватает? Кто-нибудь понял?

Мои коды:

#set ($profile_url = $portletURLFactory.create($request, "profile_WAR_profileportlet", $getterUtil.getLong($plid), "RENDER_PHASE")) 
$profile_url.setParameter("p_p_state", "exclusive") 

<a href="#" id="profile" onclick="openDialog('$profile_url','preferences-dialog',500,500)"> Profile </a> 



window, 
     'openDialog', //function name 
     function(url, popupID, wd, ht) { // parameters to the function 
      var A = AUI(); 

      popupDialog = new A.Dialog({ 

        id: popupID, // popupId passed so that it would be easy to close it through events other than the close button 
        centered: false, // all the different parameters function you can check in the Alloy API 
        draggable: true, 
        resizable: false, 
        width: wd, 
        stack: true, 
        modal: true, 
        height: ht, 
        scrollbars: true, 
        xy: [getWidth()/2-wd/2,10] 
       } 
      ).plug(
       A.Plugin.IO, 
       { 
        uri: url 
       } 
      ); 

      popupDialog.render(); 
     }, 
     ['aui-dialog','aui-dialog-iframe'] 
    ); 

Заранее спасибо за любую помощь, что кто-то может обеспечить.

ответ

4

Я думаю, что вам не хватает следующую конфигурацию в liferay-portlet.xml в profile_WAR_profileportlet портлета:

<add-default-resource>true</add-default-resource> 

Это должно быть установлено в true для портлета, который доступен в диалоговом окне pop-up, вот documentation для этого элемента.

Для получения дополнительной информации вы можете посмотреть на это answer пункты 4 & 5 ответ будет вам полезен.

+1

спасибо за вашу помощь, я искал исправление на день уже ... большое спасибо – saurjk

0

Может быть, вы устанавливаете $ profile_url, но на самом деле открываете диалог на $ preferences_url? Я предполагаю, что preferences_url был определен ранее - и предпочтения (например, режим редактирования портлета) обычно требуют большего количества разрешений, чем просто регулярная фаза визуализации. Перекрестный путем доступа к этим как администратор ..

+0

К сожалению, я отправил два различных кода, и я просто редактировать его. На самом деле у меня есть как переменные $ profile_url, так и $ preferences_url, и есть две ссылки, вызывающие два портлета. Эта проблема возникает, когда я вхожу в качестве администратора в свою среду разработки. Так что да, я проверяю его как администратора. Какие-либо предложения? – saurjk

0

Добавьте ниже две строки в ваших portal-ext.properties файл

portlet.add.default.resource.check.enabled=true 
portlet.add.default.resource.check.whitelist=3,56_INSTANCE_0000,58,82,86,103,113,145,164,166,170,33,---here append the portlet id which you want to display 
Смежные вопросы