为内容对象添加视图菜单条目
为内容对象添加视图菜单条目
http://www.315ok.org/blogfolder/1001
http://www.315ok.org/logo.png
为内容对象添加视图菜单条目
为内容对象添加视图菜单条目
为内容对象添加视图菜单条目只需如下简单两步骤:
- 内容类型注册文件中列出视图名称:
<?xml version="1.0"?> <object name="emc.kb.kbfolder" meta_type="Dexterity FTI" i18n:domain="emc.kb" xmlns:i18n="http://xml.zope.org/namespaces/i18n"> <!-- Basic metadata --> <property name="title" i18n:translate="">resource folder</property> <property name="description" i18n:translate="">resource folder</property> <property name="content_icon">++resource++emc.project/folder.png</property> <property name="factory">emc.kb.kbfolder</property> <property name="global_allow">False</property> <property name="filter_content_types">True</property> <property name="allowed_content_types"> <element value="Folder" /> <element value="File" /> </property> <property name="allow_discussion">False</property> <!-- schema and class used for content items --> <property name="schema">emc.kb.contents.kbfolder.Ikbfolder</property> <property name="klass">plone.dexterity.content.Container</property> <property name="behaviors"> <element value="plone.app.content.interfaces.INameFromTitle" /> <element value="plone.app.dexterity.behaviors.metadata.IBasic"/> </property> <!-- View information --> <property name="link_target"></property> <property name="immediate_view">folder_contents</property> <property name="default_view">folder_contents</property> <property name="view_methods"> <element value="folder_contents"/> <element value="ajax_listings"/> </property> <property name="default_view_fallback">False</property> <property name="add_permission">cmf.AddPortalContent</property> <!-- Method aliases --> <alias from="(Default)" to="(dynamic view)" /> <alias from="view" to="(selected layout)" /> <alias from="edit" to="@@edit" /> <alias from="sharing" to="@@sharing" /> <!-- Actions --> <action title="View" action_id="view" category="object" condition_expr="" url_expr="string:${object_url}/" visible="True"> <permission value="View" /> </action> <action title="Edit" action_id="edit" category="object" condition_expr="" url_expr="string:${object_url}/edit" visible="True"> <permission value="Modify portal content" /> </action> </object>
- 采用configure.zcml配置视图名称、菜单名称:
... <browser:page for="Products.CMFCore.interfaces._content.IFolderish" class="plone.app.content.browser.contents.FolderContentsView" name="folder_contents" layer="emc.theme.interfaces.IThemeSpecific" template="templates/folder_contents.pt" permission="cmf.ListFolderContents" menu="plone_displayviews" title="Folder view" /> ...
备注:zcml 中的title 可以被i18n,翻译域domain一般为plone,i18ndude不能自动提取该msgid ,只能手动添加到po文件。