主题切换器
项目描述
介绍
此插件提供浏览器视图@@themeswitcher,它应用于根目录,并允许您覆盖Plone所有主题技术使用的主题。
此插件面向集成商。
Plone主题堆栈
portal_skins
这是CMF中最古老的部分。
这一部分已被猴子补丁。
browser_layer
来自Zope3,这是创建和覆盖视图以及“viewpagetemplatefile”的现代方式。
这一部分已经被plone.theme在portal_skins上设置。
diazo
这是在页面渲染后发生的最后一种技术,它对Plone渲染的页面进行XSLT转换。
这一部分已被猴子补丁。
切换器
此插件已被设计为易于支持新的切换器。目前,唯一实现的是基于用户代理的“移动切换器”,该用户代理来自http://detectmobilebrowsers.com/(python版本)。
关于切换器的一些可行想法
根据域名切换
根据协议(http / https)切换
根据角色切换
根据路径切换
根据设备(移动、平板、桌面)切换
根据cookie值切换
如何使用
您只需在portal_registry中配置您想要使用的切换器并对其进行配置。
要使用特定的diazo主题,您必须将其设置复制到切换器注册表中。
例如,如果您只想为移动设备使用plonetheme.mobile,则必须添加一个包含以下内容的registry.xml:
<record name="collective.themeswitcher.theme.mobile">
<field type="plone.registry.field.ASCIILine">
<title>Mobile theme</title>
</field>
<value>plonetheme.mobile</value>
</record>
<record name="collective.themeswitcher.switcher">
<field type="plone.registry.field.TextLine">
<title>Theme switcher</title>
<description>The named switcher that will be used</description>
</field>
<value>themeswitcher_mobile</value>
</record>
<record name="collective.themeswitcher.absolutePrefix" interface="plone.app.theming.interfaces.IThemeSettings" field="absolutePrefix">
<field type="plone.registry.field.TextLine">
<description>convert_relative_url</description>
<required>False</required>
<title>absolute_url_prefix</title>
</field>
<value>/++theme++plonetheme.mobile</value>
</record>
<record name="collective.themeswitcher.currentTheme" interface="plone.app.theming.interfaces.IThemeSettings" field="currentTheme">
<field type="plone.registry.field.TextLine">
<description>current_theme_description</description>
<title>current_theme</title>
</field>
<value>plonetheme.mobile</value>
</record>
<record name="collective.themeswitcher.doctype" interface="plone.app.theming.interfaces.IThemeSettings" field="doctype">
<field type="plone.registry.field.ASCIILine">
<default></default>
<description>doctype_description</description>
<required>False</required>
<title>doctype</title>
</field>
<value><!DOCTYPE html></value>
</record>
<record name="collective.themeswitcher.enabled" interface="plone.app.theming.interfaces.IThemeSettings" field="enabled">
<field type="plone.registry.field.Bool">
<default>False</default>
<description>enable_theme_globally</description>
<title>enabled</title>
</field>
<value>True</value>
</record>
<record name="collective.themeswitcher.hostnameBlacklist" interface="plone.app.theming.interfaces.IThemeSettings" field="hostnameBlacklist">
<field type="plone.registry.field.List">
<default>
<element>127.0.0.1</element>
</default>
<description>hostname_blacklist_description</description>
<required>False</required>
<title>hostname_blacklist</title>
<value_type type="plone.registry.field.TextLine"/>
</field>
<value>
<element>127.0.0.1</element>
</value>
</record>
<record name="collective.themeswitcher.parameterExpressions" interface="plone.app.theming.interfaces.IThemeSettings" field="parameterExpressions">
<field type="plone.registry.field.Dict">
<default/>
<description>parameter_expressions_description</description>
<key_type type="plone.registry.field.ASCIILine"/>
<required>False</required>
<title>parameter_expressions</title>
<value_type type="plone.registry.field.ASCIILine"/>
</field>
<value>
<element key="ajax_load">python: request.form.get('ajax_load')</element>
</value>
</record>
<record name="collective.themeswitcher.readNetwork" interface="plone.app.theming.interfaces.IThemeSettings" field="readNetwork">
<field type="plone.registry.field.Bool">
<default>False</default>
<description>network_urls_allowed</description>
<title>readNetwork</title>
</field>
<value>False</value>
</record>
<record name="collective.themeswitcher.rules" interface="plone.app.theming.interfaces.IThemeSettings" field="rules">
<field type="plone.registry.field.TextLine">
<description>rules_file_path</description>
<required>False</required>
<title>rules_file</title>
</field>
<value>/++theme++plonetheme.mobile/rules.xml</value>
</record>
如何安装
此插件可以像其他插件一样安装。请遵循官方文档
致谢
公司
人员
JeanMichel FRANCOIS,别名 toutpt <toutpt@gmail.com>
变更日志
1.0a2 (2013-04-29)
目前没有任何更改。
1.0a1 (2013-04-20)
使用 templer 创建的包 [JeanMichel,别名 toutpt]
项目详情
关闭
collective.themeswitcher-1.0a2.zip 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f31b5ab320158899a69da38f203a5e872109808201c01c5af848726fc85af35b |
|
| MD5 | ca99f4a6d19a7b875e5b5b61bd68634d |
|
| BLAKE2b-256 | 7d9afdfae4c3d9fc08b89b124832463e16b4d55ab515a9c76415182bf22da3e7 |