Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add custom portlet in Control Panel section

How can I add a custom portlet to the Portal section of the Control Panel, as shown in the following figure:

enter image description here

like image 530
Prakash K Avatar asked Dec 28 '12 08:12

Prakash K


1 Answers

Here is how to do it:

  1. In your portlet's liferay-portlet.xml (you can check the DTD of this xml for more information on other tags) include two tags in your <portlet> tag as shown:

    <portlet>
        <portlet-name>MyCustomPortlet</portlet-name>
        <icon>/mycustom.png</icon>
        <!--
            These are the two entries which are required for the portlet
            to appear in the control panel
        -->
        <!--
            Set the control-panel-entry-category value to "my", "content",
            "portal" or "server" to make this portlet available in the
            Control Panel under that category.
        -->
        <control-panel-entry-category>portal</control-panel-entry-category>
    
        <!--
           Set the control-panel-entry-weight value to a double number
           to control the position of the entry within its Control Panel
           category. Higher values mean that the entry will appear lower
           in the Control Panel menu.
        -->
        <control-panel-entry-weight>100</control-panel-entry-weight>
    
        <instanceable>false</instanceable>
        <header-portlet-css>/css/main.css</header-portlet-css>
        <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
        <css-class-wrapper>mycustomportlet-portlet</css-class-wrapper>
    </portlet>
    
  2. Also, if you don't want your portlet to appear in the Add Menu so that it is not put on other pages, then in your liferay-display.xml you can include:

    <display>
        <category name="category.hidden">
            <!--
               Adding your portlet to the hidden category would not display
               the portlet in the ADD Menu on the top-left-hand corner
            -->
            <portlet id="MyCustomPortlet"></portlet>
        </category>
    </display>
    
  3. Build and deploy your portlet and you are good to go.

like image 102
Prakash K Avatar answered Nov 09 '22 18:11

Prakash K