Plone:使用默认皮肤进行管理

时间:2010-06-24 23:18:50

标签: python plone

我正在为Plone 3.x开发皮肤。皮肤与默认主题有很多不同,我想在管理模式下保持默认皮肤。我读了一些类似http://maurits.vanrees.org/weblog/archive/2008/01/switch-your-skin-based-on-the-url的解决方案。但我无法在我的网站中使用子域名,因此我无法使用这些解决方案。

我认为解决方案会是这样的:

在我的main_template.pt中:
<条件:“true:Autenticated as admin”>
         ''把这些细节放在这里 < / tal >

但我不知道Plone中正确的sintax

谢谢。

3 个答案:

答案 0 :(得分:1)

这不会直接回答您的问题,但您可能需要查看“Editskin switcher”。

答案 1 :(得分:1)

最后,我使用了这个解决方案。检测您是否经过身份验证的条件是tal:condition =“not:here / portal_membership / isAnonymousUser”。因此,您只能为访问者使用样式表,并为经过身份验证的用户使用其他样式表。这样的事情:

&LT; style type =“text / css”tal:content =“string:@import url($ portal_url / visitors.css);” media =“all”tal:condition =“here / portal_membership / isAnonymousUser”/&gt;

&LT; style type =“text / css”tal:content =“string:@import url($ portal_url / admin.css);” media =“all”tal:condition =“not:here / portal_membership / isAnonymousUser”/&gt;

也许这不是最佳解决方案,但它对我有用

答案 2 :(得分:1)

您的解决方案可行 - 但有更好的方法。您没有描述样式表的安装方式,但这有两种方法。

如果您有策略产品,请将以下内容放入产品的profiles / 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”。你可以通过“添加”上面显示的两个样式表来做同样的事情,其中​​“condition”是上面“表达式”中的值。

这些是相同的 - 一个只是通过网络设置,另一个通过GenericSetup - 现在Plone会自动将一个或另一个css文件合并到每个页面,而无需更改main_template.pt。这是你应该从不的事情。