使用Plone Add-on包含Python脚本
发布时间:2020-12-20 11:19:00 所属栏目:Python 来源:网络整理
导读:我有一个Plone加载项(通过Zope创建),包括 Javascript和页面模板文件.一些Javascript函数需要调用Python脚本(通过AJAX调用) – 如何在不通过ZMI的情况下将这些Python脚本包含在我的附加组件中? 我有一个“浏览器”文件夹,其中包含“configure.zcml”文件 –
我有一个Plone加载项(通过Zope创建),包括
Javascript和页面模板文件.一些Javascript函数需要调用Python脚本(通过AJAX调用) – 如何在不通过ZMI的情况下将这些Python脚本包含在我的附加组件中?
我有一个“浏览器”文件夹,其中包含“configure.zcml”文件 – 注册资源目录和我的模板文件.我会假设注册python文件与此类似,或类似于Javascript文件的注册方式,但也许不是? 解决方法
您将python注册为内容对象上的Views:
<browser:page for="**INTERFACE**" name="**name**" class="**class**" attribute="**method**" permission="zope2.View" /> INTERFACE是您想要查看的对象的接口, 这是我用于kss操作的脚本(与编写自己的AJAX脚本几乎相同) – 您的类可能需要从BrowserView继承(PloneKSSView是KSS视图的专用): <browser:page for="Products.VirtualDataCentre.interfaces.IDDCode" name="getTableColumns" class="Products.VirtualDataCentre.browser.DDActions.DDActions" attribute="getTableColumns" permission="zope2.View" /> 其中IDDCode是我需要视图的内容类型,DDActions.py具有: from Products.Five import BrowserView from plone.app.kss.plonekssview import PloneKSSView class DDActions(PloneKSSView): def getTableColumns(self,table,currValue,currLabel): columns = self.context.getColumnNames(table) for (field,curr) in [('valueColumn',currValue),('labelColumn',currLabel)]: self.replaceSelect(field,columns,(curr or self.context[field])) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |