Sunday, 17 September 2017

Add Portlet(Out of Box) to Control Panel

Today we learn how to move a Out of box portlet from Application menu to Control panel.


 Ex- Loan Calculator from Finance category to Control Panel User Section.







This can be done by 2 ways:-






A) Direct change in liferay-display.xml and liferay-portlet.xml in server.
B) By writing EXT


First we discuss 

A)Direct change in liferay-display.xml and liferay-portlet.xml in server.

Step1 :- Enter Portlet in control panel

Go to tomcat-7.0.42\webapps\ROOT\WEB-INF and open liferay-portlet.xml and search for loan
and then put the entries of <control-panel-entry-category> and  <control-panel-entry-weight>.
Ex-

<portlet>
<portlet-name>61</portlet-name>
<icon>/html/icons/loan_calculator.png</icon>
<struts-path>loan_calculator</struts-path>
<control-panel-entry-category>users</control-panel-entry-category>
<control-panel-entry-weight>1.0</control-panel-entry-weight>
<remoteable>true</remoteable>
<private-request-attributes>false</private-request-attributes>
<private-session-attributes>false</private-session-attributes>
<render-weight>50</render-weight>
<css-class-wrapper>portlet-loan-calculator</css-class-wrapper>
</portlet>

Step2 :- Remove from Application

Go to tomcat-7.0.42\webapps\ROOT\WEB-INF and open liferay-display.xml and search for Finance category and remove portlet id 61 from finance category to hidden category. 

Ex-

<category name="category.finance">
<portlet id="16" />
// remove from here
</category>
<category name="category.hidden">
  <portlet id="61" />       // enter here
<portlet id="9" />
<portlet id="15" />
                  .
                  .
                  .
</category>

And Restart Server.Thats it see the output:-


As you see their is no Loan Calculator in Finance category.


And Loan Calculator is availabel in Control Panel Users

Now we Discuss the second Approach

B) By writing EXT

Step1:- Create a Ext project in eclipse


Step2 :- Enter Portlet in control panel

Open liferay-portlet-ext.xml and  provide entry for control panel. Ex-

<liferay-portlet-app>
<portlet>
<portlet-name>61</portlet-name>
<icon>/html/icons/loan_calculator.png</icon>
<struts-path>loan_calculator</struts-path>
<control-panel-entry-category>users</control-panel-entry-category>
<control-panel-entry-weight>1.0</control-panel-entry-weight>
<remoteable>true</remoteable>
<private-request-attributes>false</private-request-attributes>
<private-session-attributes>false</private-session-attributes>
<render-weight>50</render-weight>
<css-class-wrapper>portlet-loan-calculator</css-class-wrapper>
</portlet>
</liferay-portlet-app>

Note:-These entries can be copied from liferay-portlet.xml of server.

At this point if we deploy our Ext portlet is available in Control panel but also in application.

Step3 :- Remove from Application

For removing we have to use liferay-display.xml but their is no such file in Ext so just copy from server and paste in Web-INF


and then remove portlet id 61 from finance category to hidden category as:-

<category name="category.finance">
<portlet id="16" />
// remove from here
</category>
<category name="category.hidden">
  <portlet id="61" />       // enter here
<portlet id="9" />
<portlet id="15" />
                  .
                  .
                  .
</category>

Step4 :- Deploy the Ext

Then stop server Right Click on build.xml--->Liferay-->SDK--->direct-deploy
 and restart server and check the output.

TEST

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

0 comments:

Post a Comment

 

Copyright @ 2013 Test.