Liferay 以编程方式将portlet添加到控制面板

Liferay 以编程方式将portlet添加到控制面板,liferay,Liferay,我想以编程方式将自定义portlet添加到控制面板。我怎么做 我认为这在编程上是不可能的,因为: “控制面板”页面上的portlet不会像门户中的其他页面那样存储在数据库中,门户中的portlet在布局表中存储为类型设置 相反,控制面板页面上的portlet是由PortletImpl中的\u controlPanelEntryCategory字段的值决定的,该字段表示liferayportlet.xml中标记的值,该值是通过我认为每次调用服务器启动(中)或部署portlet(中) 因此,需要在l

我想以编程方式将自定义portlet添加到控制面板。我怎么做

我认为这在编程上是不可能的,因为:

  • “控制面板”页面上的portlet不会像门户中的其他页面那样存储在数据库中,门户中的portlet在
    布局
    表中存储为
    类型设置

  • 相反,控制面板页面上的portlet是由
    PortletImpl
    中的
    \u controlPanelEntryCategory
    字段的值决定的,该字段表示
    liferayportlet.xml
    中标记的值,该值是通过我认为每次调用服务器启动(中)或部署portlet(中)

  • 因此,需要在
    liferayportlet.xml
    中为不同的
    标记添加一个条目,以便能够将portlet添加到控制面板。这在编程上是不可能的


    这是根据我的推理和理解,但如果可能的话,我想听听Liferay masters的意见。

    我认为这在编程上是不可能的,因为:

  • “控制面板”页面上的portlet不会像门户中的其他页面那样存储在数据库中,门户中的portlet在
    布局
    表中存储为
    类型设置

  • 相反,控制面板页面上的portlet是由
    PortletImpl
    中的
    \u controlPanelEntryCategory
    字段的值决定的,该字段表示
    liferayportlet.xml
    中标记的值,该值是通过我认为每次调用服务器启动(中)或部署portlet(中)

  • 因此,需要在
    liferayportlet.xml
    中为不同的
    标记添加一个条目,以便能够将portlet添加到控制面板。这在编程上是不可能的


    这是根据我的推理和理解,但如果可能的话,我想听听Liferay masters的意见。

    因为您可能已经知道要在ControlPanel中提供哪个portlet(您编写的portlet数量有限,对吧?),您不需要完全编程,但实际上可以像您拥有的任何其他控制面板Portlet一样声明它。(有关信息,请参见您的网站)

    但是,为了使您的管理portlet基于动态信息显示/消失,您可以使用此元素的声明(取自)


    因为您可能已经知道要在ControlPanel中使用哪个portlet(您编写的portlet数量有限,对吧?),您不需要将其完全编程化,但实际上可以像您拥有的任何其他ControlPanel portlet一样声明它。(有关信息,请参见您的网站)

    但是,为了使您的管理portlet基于动态信息显示/消失,您可以使用此元素的声明(取自)

    
    
    很好的解释,我没有从这个角度看到它(因为您可能已经知道在控制面板中可以使用哪个portlet)。所以对于控制面板,实际上不需要以编程方式“添加”它,而应该以编程方式显示/隐藏它。嗯,对于最终用户来说,我认为这不会有任何区别。很好的解释,我没有从这个角度看到它(因为您可能已经知道在控制面板中使用哪个portlet)。所以对于控制面板,实际上不需要以编程方式“添加”它,而应该以编程方式显示/隐藏它。嗯,对于最终用户来说,我认为这不会有任何区别。我会将此标记为答案。
    <!--
    The control-panel-entry-class value must be a class that implements
    com.liferay.portlet.ControlPanelEntry and is called by the Control Panel to
    decide whether the portlet should be shown to a specific user in a specific
    context. The default value is set in portal.properties.
    
    See:
    
    http://docs.liferay.com/portal/6.0/javadocs/portal-service/com/liferay/portlet/ControlPanelEntry.html
    -->
    <!ELEMENT control-panel-entry-class (#PCDATA)>