首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从“站点设置-附加配置”中删除Configlet

如何从“站点设置-附加配置”中删除Configlet
EN

Stack Overflow用户
提问于 2014-03-26 20:34:27
回答 1查看 269关注 0票数 1

我不推荐使用站点设置附加的configlet。我所遵循的过程是将remove="true“属性添加到controlpanel.xml

代码语言:javascript
复制
<!-- profiles/default/controlpanel.xml -->
<configlet
    title="MyConfiglet" ...
    remove="true">
        <permission>Manage portal</permission>
</configlet>

然后执行一个upgradeStep。我试过

代码语言:javascript
复制
<!-- upgrades/configure.zcml -->
<genericsetup:upgradeSteps ...>
  <genericsetup:upgradeDepends
      title="Remove Configlet"
      import_steps="plone.app.registry controlpanel"
      />
</genericsetup:upgradeSteps>

但是,在执行升级步骤之后,我仍然可以在/@@概括-控制面板中看到configlet。

我遗漏了什么?从控制面板中删除configlet需要什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-26 22:33:44

从Plone中删除某物的过程或多或少涉及添加它的相同步骤;在这种特殊情况下,您有两种方法:以编程方式或使用泛型设置。

以编程方式

我认为这更容易,因为只涉及几行代码,您可以在出现问题时进行调试。

只需在升级步骤中使用以下代码:

代码语言:javascript
复制
def remove_configlet(self):
    from plone import api
    config_tool = api.portal.get_tool('portal_controlpanel')
    configlet_id = 'MyConfigletId'
    config_tool.unregisterConfiglet(configlet_id)

使用通用设置

在为升级步骤注册的配置文件中创建一个controlpanel.xml文件;该文件应该包含与添加configlet remove="True"属性完全相同的内容。

您可以在upgrade_10_to_11配置文件Products.TinyMCE上找到这方面的一个工作示例:

代码语言:javascript
复制
<?xml version="1.0"?>
<object name="portal_controlpanel" meta_type="Plone Control Panel Tool"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="plone.tinymce">

    <configlet title="TinyMCE"
        action_id="tinymce" appId="TinyMCE"
        category="Products"
        condition_expr=""
        url_expr="string:${portal_url}/portal_tinymce/@@tinymce-controlpanel"
        visible="True"
        i18n:attributes="title"
        remove="True">
        <permission>Manage portal</permission>
    </configlet>
    ...    
</object>
代码语言:javascript
复制
def upgrade_10_to_11(setuptool):
    """Upgrade TinyMCE from 1.0 to 1.1"""
    ...
    # Unregister old js and register new js
    setuptool.runAllImportStepsFromProfile('profile-Products.TinyMCE:upgrade_10_to_11')

如果有疑问,请看一下卢卡·法布里在如何使您的Plone附加产品卸载干净上的精彩博客文章。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22672464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档