2012-06-25 3 views
2

내 Liferay 6.1 포털에 인라인 대화 상자 (즉, aui-inline-dialog, aui-dialog가 아님)를 표시하려고합니다. 그러나 나는 https://developer.atlassian.com/display/AUI/Inline+Dialog에 대한 예제를 얻을 수 없습니다. Liferay JSP 페이지의 AUI 인라인 대화 상자

나는이 시도 :

<a href="#" id="inlineDialog"> Inline Dialog </a> 
<script type="text/javascript"> 
AUI().ready('aui-inline-dialog', 'aui-overlay-manager', function(A) { 
    A.InlineDialog(A.one("#inlineDialog"), "myDialog", function(content, trigger, showPopup) {showPopup();}, {onHover: true}); 
}); 
</script> 

을하지만 그것은 단지 InlineDialog 함수 아니라고 말한다.

무엇이 누락 되었습니까? (아니면 그냥 텍스트 콘텐츠 이외의 툴팁을 표시하는 더 좋은 방법이 있습니까?)

답변

2

방금 ​​발견 된 문제 : aui-inline-dialog는 Liferay에 포함되어 있지 않습니다.

내 솔루션 :

  • (이 페이지에있는 것과 같은 : https://developer.atlassian.com/display/AUI/AUI+4.2+Release+Notes) 최신 골드 피처 FlatPack 다운로드
  • 는/JS을을 docroot하는 aui.js 및 AUI-dependencies.js 추가/
  • 추가 당신을 Liferay-portlet.xml 파일에 <header-portlet-javascript>/js/aui-dependencies.js</header-portlet-javascript><header-portlet-javascript>/js/aui.js</header-portlet-javascript>
  • 하면을 Liferay 포틀릿에 <header-portlet-css>/css/aui.css</header-portlet-css> 추가을 docroot하는 aui.css/CSS/
  • 를 추가합니다. xml 파일

결과 : 이제 FlatPack 예와 같이 AUI를 사용할 수 있습니다.

<a href="#" id="popupLink">Hover Link</a> 

    <script type="text/javascript"> 
    AJS.InlineDialog(AJS.$("#popupLink"), 1, 
      function(content, trigger, showPopup) { 
       content.css({"padding":"16px"}).html('<a href="http://example.com">Appended content.</a>'); 
       showPopup(); 
       return false; 
      }, { 
       onHover:true 
      } 
     ); 
    </script> 
관련 문제