支持每个网站不同的主题
项目描述
网站多主题
允许网站管理员为每个网站设置不同的主题。
“主题”可能不仅是一个主题模块,还可以是一组主题,甚至是来自任何模块(例如,来自“网站”模块的视图 website.custom_footer)的特定视图。这也意味着,“主题”不仅是一种样式,还包括内容。
它添加了控件,使管理多个网站更容易
下拉列表以切换到不同的网站。
在页面属性对话框中通过复选框更改相关网站的页面。
将字段 website_ids 添加到 website.page 树中。
工作原理
核心思想如下
找到由 主题模块 创建的视图,并将其标记为 多视图 (website.theme.asset),除了通过XML手动指定的一个外。负责这一点的函数是 _convert_assets。
将 多视图 的 active 设置为 False。请参阅方法 _find_and_deactivate_views。
将 多主题 (新模型中的记录 website.theme) 应用到特定网站。请参阅方法 _multi_theme_activate。
使用技术视图 website.assets_frontend 和 website.layout 进行一些魔法。
从 templates/patterns.xml 复制 patterns。
在 layout_pattern 中,将 {theme_view} 占位符替换为 assets_pattern 的副本。
相应的复制 pattern 将用作复制 multi-views 中的 inherit_id 字段的新值,这些 multi-views 原先扩展了 web.assets_frontend、website.assets_frontend 或 website.layout。
复制 multi-theme 及其 dependencies(其他 multi-themes)。在副本中,当可能时,将 inherit_id 字段更改为其他复制的视图或复制的 patterns。
安装
为了使此模块正常工作,您需要
安装任何官方支持的主题
theme_bootswatch
安装任何非官方支持的主题(自行承担风险)
theme_anelusia
theme_artists
theme_avantgarde
theme_beauty
theme_bewise
theme_bistro
theme_bookstore
theme_clean
theme_enark
theme_graphene
theme_kea
theme_loftspace
theme_mongolia
theme_nano
theme_notes
theme_odoo_experts
theme_orchid
theme_treehouse
theme_vehicle
theme_yes
theme_zap
在安装此模块后,上述列表中的主题将成为多站点。如果安装了“website_multi_theme”之后,请手动更新此模块,否则它将不会通知此类更改。
配置
要配置此模块,您需要
转到 网站管理 > 配置 > 设置 并选择或创建一个 网站。
点击 高级 > 多站点主题 > 重新加载。
在 高级 > 多站点主题 中,选择一个可用的主题。
通过编辑按钮(fa-external-link)将 默认主题 添加到所选主题的 子主题 中,以使多页脚工作。
保存后,任何未选择 多站点主题 的网站将使用默认的纯 Bootstrap 主题,而那些已经选择了一个主题的网站将获得该主题。
当然,您的 Odoo 实例必须可以通过所有提供的主机名访问,否则没有人会看到效果。但这最可能是通过您的 DNS 提供商和/或代理配置的,因此这不属于此插件的问题。
如果您想测试这种行为,请考虑 localhost 和 0.0.0.0 是不同的主机名。
用法
要使用此模块,您需要
遵循配置步骤。
进入您修改过的任何网站。
开发常见问题解答
如何开发一个适用于多站点的主题?
检查 demo/themes.xml。它包含一个用作模板的演示主题。此演示主题将主按钮变为绿色,因此您可以轻松测试它是否被应用。
如何将单站点主题转换为多站点主题?
检查 data/themes_bootswatch.xml。您必须这样做。您可以考虑直接在此插件中添加支持,因为它如果未安装单站点主题插件(它作为软依赖项)则不会做任何事情。
如何获取多站点特定的视图更新?
此插件默认为保守模式,这意味着在生产数据库中,如果视图已创建,则不会更新视图(除了从 templates/patterns.xml 复制的视图)。
要强制您的网站获取已更改的基础主题的所有视图的最新视图,您应禁用网站多主题(以便引擎删除所有视图),然后再次启用它(从头开始重新创建它们)。
在演示或开发实例中不会发生这种情况,在这些实例中,视图架构始终更新。
如何在runbot上测试?
打开[[ 网站 ]] >> 配置 >> 设置
将网站字段从网站 localhost更改为网站 0.0.0.0
点击fa-external-link图标以编辑网站
在网站域名字段中复制粘贴构建域名,并在第一个点之后添加一些内容,例如
Original domain: 3308093-10-0-28910f.runbot2.odoo-community.org New domain: 3308093-10-0-28910f.second-website.runbot2.odoo-community.org
点击[保存]以保存网站更改
现在,您可以使用未更改的构建域名用于名为网站 localhost的网站,以及更新后的域名用于名为网站 0.0.0.0的网站
已知问题/路线图
不保证支持私有主题。
没有界面可以删除网站。请通过Odoo外壳程序执行此操作。
主题选择器如果可能的话应该包括某种缩略图。
如果您在安装此插件后安装了任何受支持的插件,您必须在网站配置向导中按下重新加载以使其注意到更改。
如果您与该插件一起安装了任何不受支持的插件,它可能会成为所有受支持插件的基座,这可能会导致奇怪的情况和错误。
致谢
贡献者
Rafael Blasco <rafael.blasco@tecnativa.com>
Antonio Espinosa <antonio.espinosa@tecnativa.com>
Jairo Llopis <jairo.llopis@tecnativa.com>
Ivan Yelizariev <https://it-projects.info/team/yelizariev>
Dennis Sluijk <d.sluijk@onestein.nl>
维护者
此模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
要为此模块做出贡献,请访问https://odoo-community.org。
项目详情
哈希值 for odoo11_addon_website_multi_theme-11.0.1.6.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 038767757bc3218b5912919d5cbbbf157d25a83df4a58bc3df414564ee58f8a1 |
|
MD5 | f89719e3609c0cf77bf5adfcb9edd05c |
|
BLAKE2b-256 | 461ba52ed1f1c7dd9517271eeaf038c03c0355bb956aba51f31331ca422aae60 |