Limyee 电商平台使用主题来布局、设置样式和组织 Web 用户体验功能。
主题定义层叠样式表、全局 Javascript 以及由 IThemeableApplicationType 实现定义的功能,该功能可以根据上下文设置每个页面包含的页眉、内容和页脚的主题。核心平台支持在网站、群组、商店和博客上下文中选择主题。
在每个上下文中,可以选择和自定义主题。
主题组件
每个主题包含多个组件:
或者,换句话说,主题是一组配置(可能包括嵌入的文件),其中包含页眉、页脚和一组或多个页面。每个页眉、页脚和页面都定义了一个包含多个区域的布局,这些区域可能包含零个或多个已配置的小组件。
页眉
页眉显示在主题的每个页面的顶部。页眉本身无法在唯一的 URL 上访问,但会在使用此主题的每个 URL 页面顶部提供功能。
页面
每个页面要么与特定路由相关联(INavigable 或 IApplicationNavigable 插件通过 AddPage 方法注册以实现特定功能),要么作为自定义内容页面(通过“管理主题 > 管理页面”的选项添加或编辑自定义页面)。每个页面都可以通过唯一的 URL 来进行访问,并且始终包含主题的页眉和页脚。
页脚
页脚显示在主题的每一页的底部。与页眉一样,页脚无法在唯一的 URL 上访问,但会在使用此主题的每个 URL 页面底部提供功能。
配置
主题的配置包括应用于主题的每个页面的 CSS 和 Javascript,以及 Javascript 和 CSS 使用的任何补充文件(例如图像)。该配置还包括主题级别的选项,例如从父主题继承配置(例如,群组是否应从网站继承标题)、主题的宽度和设置小组件格式。
主题版本
页眉、页脚和页面最多存在三种不同的版本:
出厂版本表示在平台 UI 中未进行任何编辑时使用的原始实现。安装 Limyee 电商平台后,渲染的所有页面都来自主题的出厂默认版本。
默认版本将覆盖出厂默认版本,而无需对其进行编辑。默认值可通过平台 UI 进行编辑,并允许对用于主题所有上下文的默认值进行可视化配置。
上下文版本是编辑最多的版本。例如,在群组或博客中直接编辑时,将编辑主题的上下文版本。更改仅适用于该上下文(当前群组或博客),而不适用于默认值(适用于所有群组/博客)或出厂默认值(原始的版本)。
加载主题组件时,如果请求的组件在请求的版本中不可用,则会请求下一个较低版本。例如,如果为某个群组请求了页面的上下文版本,但该群组从未编辑过该页面(没有上下文版本),则将请求默认版本。如果从未编辑过默认版本(没有默认版本),则将使用出厂默认版本。
主题继承
一些主题组件也可以继承。页眉/页脚和页面的继承方式不同。
页眉/页脚继承
渲染页眉或页脚时,首先,默认实现的任何锁定的配置小组件都将合并到页眉/页脚中。接下来,如果将主题配置为从父主题继承页眉/页脚,则父主题配置的小组件也将在渲染之前合并到页眉/页脚中。
在这两种情况下,父上下文都由 IThemeableApplicationType 的 GetParent 方法获取。如果父上下文有可用的同名主题,则会从该主题中检索父页眉或页脚。如果父上下文没有可用的同名主题,则当前主题将用于检索父页眉或页脚。
页面继承
渲染页面时,只有默认页面实现中的锁定小组件才会在渲染之前合并到页面中。
在页眉、页面和页脚中合并的小组件
合并小组件时,平台首先尝试在目标页眉/页脚/页面上查找源小组件。当找到相同类型(例如:相同名称)和相同配置的小组件,或者目标页眉/页脚/页面上仍存在正在编辑的继承小组件时,将找到匹配项。
如果未找到匹配的小组件(或者匹配的目标小组件已被标识为与不同的源小组件匹配),则源小组件将被复制到目标的页眉/页脚/页面。复制时,小组件将被放置在与源页眉/页脚/页面的小组件相应的区域位置中或在相同的区域偏移中。因此,如果源小组件是源页面右侧边栏中的第三个小组件,则合并时,它将作为目标页面中的第三个小组件放置在右侧边栏(或类似区域)中。
请注意,由于继承合并小组件时,只会合并锁定的小组件。锁定是编辑默认页面版本或编辑页眉/页脚的一个选项。
配置继承
某些配置选项也可以继承。继承配置选项时,父上下文使用 IThemeableApplicationType 的 GetParent 方法获取。为配置选项启用继承时,将使用父上下文的主题配置值。
基本编辑
编辑主题中在管理面板中处理。要访问主题选项,
- 在您要编辑的主题的上下文中,点击页面左上角的图标。
- 如果显示“管理”选项,请选择“管理[类型名称]主题”。
- 用于编辑主题的可用选项就会显示。
要编辑主题的默认版本,请从步骤 3 中显示的主题管理选项列表中选择“管理默认的 [类型名称] 主题”。请注意,网站主题没有默认实现。
若要编辑页眉、页脚或页面内容,请选择“编辑页面”。然后,您可以选择布局并在页眉、页面或页脚中添加/移除/重新排序/配置小组件。有关使用页面编辑器的更多信息,请参阅用户文档中的页面编辑。
若要编辑主题的配置选项,请选择“编辑主题”。然后,您可以设置配置选项、添加文件和选择继承选项。
导入/导出
上下文和默认主题组件从管理面板导入/导出。可以从管理 UI 导入/导出出厂默认值。
导入/导出默认和上下文主题
默认主题和上下文主题从管理面板中导入/导出到要导入/导出的主题上下文中。要访问导入/导出:
- 在您要编辑的主题的上下文中,点击页面右上角的图标。
- 如果显示“管理”选项,请选择“管理[类型名称]主题”。
- 如果要导入/编辑默认值,请选择“管理默认的[类型名称]主题”。
- 选择导入主题或导出主题。
导出默认或上下文主题时,可以导出当前页面(如果当前正在查看主题中的页面)或整个主题。整个主题包含页眉,页脚,所有有效页面,主题配置,与主题关联的共享小组件配置选项。如果请求的上下文不可用,则导出包括默认值或出厂默认值(根据主题继承逻辑)。请注意,默认/上下文导出适用于在已安装主题但不能用于安装其他尚不存在该主题的网站上导入(您需要导出出厂默认主题以便在其他网站上创建主题)。
导入默认或上下文主题时,“导入主题”管理面板将显示正在导入的文件的可更改列表。请注意,如果主题的当前有效配置没有变化,则不会显示要导入的选项。可以选择导入一个或多个选项,以便在正在查看的当前主题中进行预览。导入的更改始终会暂存为预览,在发布更改之前,不会为其他用户发布更改,从而使您能够在发布之前对导入的主题组件进行调整。
导入/导出出厂默认主题
出厂默认主题通过管理 UI 导入/导出:
- 在您要编辑的主题的上下文中,点击页面左上角的图标。
- 选择系统管理。
- 在“系统管理”中,转到界面 > 主题.
- 要导入,请单击导入。要导出,请找到并选择要导出的主题,然后单击导出.
出厂默认导出包括与默认/上下文导出相同的主题选项,但也包括页眉、页脚或主题中任何页面引用的所有小组件。出厂默认导出适用于与尚未安装该主题的其他站点共享(因为它也包括小组件)。
导入出厂默认主题时,如果主题是新主题,则将立即导入。如果主题已存在,则对主题的更改都将导入并暂存,以便预览、调整、审核和发布。