您的解决方案将起作用 - 但还有更好的方法。你没有描述你的样式表是如何安装的,但是这里有两种方法可以做到。
或者,如果您有策略产品,请将以下内容放入产品的配置文件/default/cssregistry.xml 中:
<object name="portal_css" meta_type="Stylesheets Registry">
<stylesheet title="" cacheable="True" compression="safe" cookable="True" enabled="1"
expression="here/portal_membership/isAnonymousUser"
id="visitors.css"
media="all" rel="stylesheet" rendering="import"/>
<stylesheet title=""
cacheable="True" compression="safe" cookable="True" enabled="1"
expression="not:here/portal_membership/isAnonymousUser"
id="admin.css"
media="all" rel="stylesheet" rendering="import"/>
</object>
或者; 访问ZMI(Zope管理界面)中的“portal_css”。在那里,您可以通过“添加”上面显示的两个样式表来做同样的事情,其中“条件”是上面“表达式”的值。
这些是相同的——一个只是通过网络设置,另一个通过 GenericSetup——现在 Plone 将自动将一个或另一个 css 文件合并到每个页面中,而无需更改 main_template.pt。这是你永远不应该做的事情。