小编Dan*_*cka的帖子

Plone中的自定义敏捷编辑表单模板?

我正在开发一个Plone插件,需要为Dexterity内容重新设置皮肤替代编辑表单.我需要能够在AJAX覆盖中仅显示编辑表单的一部分(使用JQuery UI,而不是JQuery工具,因此在服务器端执行似乎比在JavaScript中过滤更合理)**.

来自Dexterity Developer's Guide的文档似乎表明我可以使用宏来创建自定义模板.但是,本节中缺少一些东西 - 对于不使用grok来绑定视图的人来说可能是一些关键的上下文,但也许还有其他东西.创建一个仅模板的视图失败(显然无法从视图类中找到名称),并且尝试将ZCML中的自定义模板绑定到stock视图类或它的子类都失败(忽略模板以支持股票模板).

我的目标:

  1. 对它的编辑包含在一个裸模板中,该模板基本上只包含#content div中的内容.
  2. 我不仅仅想要一个未包装的z3c.form渲染,我需要一个最小的模板来包装它 - 只是不是股票Plone viewlet管理器和furntiture.

什么行不通:

from plone.dexterity.browser.edit import DefaultEditForm
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

class MyEditForm(DefaultEditForm):
    index = ViewPageTemplateFile('my_edit_template.pt')
Run Code Online (Sandbox Code Playgroud)

ZCML等价物(使用运行时魔术定义索引)在这里也不起作用.

如何将自定义模板注入编辑表单?

**我正在研究Solgema.fullcalendar与plone.app.event基于Dexterity的类型的兼容性.Solgema.fullcalendar使用jQuery UI弹出窗口,而不是plone.app.jquerytools叠加助手; 为了保持一致性,有了这个最小视图并且不试图模仿普通Plone叠加的JavaScript中的过滤机制是有意义的.

zope plone dexterity

7
推荐指数
1
解决办法
914
查看次数

如何覆盖Plone的特殊案例内容显示菜单?

要在Plone文件夹上获得一次性视图,我会执行类似这样的操作(并非显示所有代码):

configure.zcml:

<!-- Marker interface. Set this on the folder through the ZMI
     interfaces tab.
  -->
<interface interface=".interfaces.IMySpecialFolder" />
Run Code Online (Sandbox Code Playgroud)

browser/configure.zcml:

<!-- Special case view. Set as the folder's view through the ZMI
     properties tab (layout property).
  -->
<browser:page
  for="..interfaces.IMySpecialFolder"
  name="special"
  template="special.pt"
  permission="zope2.View"
  />
Run Code Online (Sandbox Code Playgroud)

这很好用,但我想控制文件夹的显示菜单,列出我的特殊案例视图.我可以添加它,它只显示在我标记的文件夹上,但我必须更改站点范围的ATFolder FTI.

browser/configure.zcml:

<include package="plone.app.contentmenu" />

<browser:menuItem
  for="..interfaces.IMySpecialFolder"
  menu="plone_displayviews"
  title="Special view"
  action="@@special"
  description="Special case folder view"
  />
Run Code Online (Sandbox Code Playgroud)

profiles/default/types/Folder.xml:

<?xml version="1.0"?>
<object name="Folder">
 <property name="view_methods" purge="False">
  <element value="special"/> …
Run Code Online (Sandbox Code Playgroud)

plone

6
推荐指数
1
解决办法
1419
查看次数

Zope Management Interface专有技术,可以更好地开发Plone

作为定制Plone的典型"集成商"程序员,我应该如何了解ZMI以帮助我更有效地编码?什么是设置,工具,陷阱,快捷方式和黑暗角落,这将节省我的时间,并帮助我编写更好的代码?

编辑:将其视为我在文件系统上编码的读取,使用GenericSetup配置文件进行设置更改.我知道在ZMI中做出改变是一个坏主意,并且通常很明确.但偶尔ZMI肯定是有用的:用于检查工作流,或检查内容项的权限,或通过portal_setup仅安装配置文件的一部分.ZMI真的没什么值得了解的吗?或者那里有其他有用的小花絮吗?

zope plone

4
推荐指数
3
解决办法
1867
查看次数

标签 统计

plone ×3

zope ×2

dexterity ×1