使用 XDV 将类添加到 body 元素
我想在 Plone3+collective.xdv 中设置某些表单的样式,但我不希望所有表单都获得特殊样式。
因此,我想在显示某些模板时向 body
元素的 class
属性添加一个特殊的 styled-form
类名
- : -info
- sendto_form
- PFG forms
因此,我认为我可以设法使用 XDV 执行此操作,以免修改这些模板。
通过使用 XDV 规则中的 if-content
指令,我可以检查这些模板是否正在显示:
css:if-content="body.template-contact-info"
例如。
但我找不到保留 Plone 提供的类属性并根据该条件添加特殊类的方法。
我想要的结果是这样的:
<body class="template-contact-info styled-form">
...
</body>
提前致谢。
I want to style some forms in Plone3+collective.xdv but I don't want all forms to get the special style.
So I'd like to add a special styled-form
class name to the class
attribute of the body
element just when displaying certain templates:
- contact-info
- sendto_form
- PFG forms
So I thought that I could manage to perform this with XDV in order not to modify those templates.
By using the if-content
directives in XDV rules I can check if those templates are being displayed:
css:if-content="body.template-contact-info"
for instance.
But I don't find the way to keep the class attribute as delivered by Plone and add the special class based on that condition.
My desired result would be something like:
<body class="template-contact-info styled-form">
...
</body>
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 Diazo/plone.app.theming,您可以合并模板和内容中的属性,请参阅:http://diazo .org/basic.html#merge
如果您无法升级,那么您需要使用内联 XSL 来执行此操作,例如:
更新: 我忘记了上面示例中的标记。现在应该可以了。
With Diazo/plone.app.theming you can merge attributes from the template and content, see: http://diazo.org/basic.html#merge
If you can't upgrade then you'll need to do this with inline XSL, something like:
Update: I forgot the tag in the example above. It should work now.