javascript-删除敏捷内容类型上的fieldset选项卡界面
作者:互联网
添加内容类型的对象时,我需要添加一个条件以避免加载一些JavaScript代码;以下条件仅在编辑对象时有效:
<?xml version="1.0"?>
<object name="portal_javascripts">
<javascript id="form_tabbing.js"
expression="python:object.portal_type != 'collective.nitf.content'" />
</object>
此javascript代码负责创建选项卡界面,但在我的用例中我想绕过它.
有什么提示吗?
解决方法:
实际上,您可以通过其他方式解决此问题.
除了避免加载Javascript文件(当涉及到缓存等操作时,这会带来讨厌的后果),您还可以避免它对表单起作用.
* form_tabbing.js *将使用enableFormTabbing类查找表单元素:
<form class="enableFormTabbing">
<fieldset id="fieldset-[unique-id]">
<legend id="fieldsetlegend-[same-id-as-above]">Title</legend>
</fieldset>
</form>
因此,您所需要做的就是避免获取此enableFormTabbing类的形式.
由于您的内容类型是使用敏捷创建的,因此建议您按如下方式重写AddForm:
class AddForm(dexterity.AddForm):
"""Default view looks like a News Item.
"""
grok.name('collective.nitf.content')
grok.layer(INITFBrowserLayer)
enable_form_tabbing = False
多亏了plone.app.z3cform魔术,enable_form_tabbing属性将允许您控制表单上的制表符.
同样适用于EditForm.
希望能有所帮助
标签:dexterity,genericsetup,javascript,plone 来源: https://codeday.me/bug/20191102/1987780.html