Plone 4.x 学习之创建自定义工具

来源:互联网 发布:pp助手 mac打不开 编辑:程序博客网 时间:2024/05/25 01:35

官方文档上讲的很清楚,下面,我简单的叙述下流程:

首先,你需要在你的第三方产品根目录( 例如你的产品位置为:  /Plone Folder/zinstance/src/example.blog/, 那么,你的文件文应该位于 /Plone Folder/zinstance/src/example.blog/example/blog/目录中  )创建一个工具的模块文件,例如 MyTool.py, 代码如下:

from Products.CMFCore.utils import UniqueObjectfrom OFS.SimpleItem import SimpleItem from Globals import InitializeClass class MyTool (UniqueObject, SimpleItem):     """ MyTool .... """     id = 'my_tool'     meta_type= 'My Utility Tool'     plone_tool = 1     def hello(self, name="world"):          """Hello XXX"""         return "Hello %s." % name     def method(self, args ...):         """ method ... """         passInitializeClass(MyTool)

以上定义了工具的id等属性,还有相应的工具拥有的方法。

接下来,你需要初始化该工具,在你产品根目录下的 __init__.py 文件中加入如下代码,并且还需要加入一个 图标文件 tool.gif 到产品根目录下:

 from Products.CMFCore import utils import MyTool tools = ( MyTool.MyTool, )  def initialize(context):      utils.ToolInit('My Tool', tools=tools,                     product_name='MySite', icon='tool.gif',                      ).initialize(context) 


完成以上步骤以后,你的工具就已经实现了,你可以重启Plone,到ZMI中右上角的添加类型下拉菜单中,你就能看到你的工具 my_tool。


如何使用自定义工具呢?

答:在 Script(Python) 中,可以通过 context.my_tool.method(如:context.my_tool.hello).

        在 Page Template 中,通过 here/my_tool/method等方法可以使用tool.

原创粉丝点击