标签:dexterity genericsetup javascript plone
添加内容类型的对象时,我需要添加一个条件以避免加载一些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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。