travisbutterfield / asu_brand
ASU 头部组件和品牌资产。
README
ASU 品牌模块提供以下功能
- 一个ASU品牌的、可访问的、符合Web标准的头部,与ASU搜索和所需链接集成。头部提供导航菜单,您可以通过Drupal管理用户界面进行配置。以下是对配置的更多详细信息。
- ASU通用Google Tag Manager。自动启用并包含在您的网站标记中,无需您进行任何配置。如果您想关闭它或希望添加额外的GTM容器ID,请访问管理 -> 配置 -> ASU品牌设置。
- ASU品牌Cookie同意符合GDPR。默认启用。无需配置。
有关头部、GTM和Cookie同意的更多技术细节,请访问unity.web.asu.edu。
安装说明
当您创建Webspark网站时,ASU品牌模块将安装。如果您在Webspark之外或在其他情况下使用此模块,请参阅以下说明。
- 像安装其他模块一样安装和启用ASU品牌模块。
- 转到管理 -> 结构 -> 区块,并将ASU品牌头部块放置在您网站的头部区域。请注意,头部提供自己的头部标签,因此您可能需要更新非Webspark主题以确保它们不会设置自己的头部标签。可用的区域将由您使用的主题确定。
CAS集成
ASU品牌头部默认使用的登录/注销路径假定您已启用CAS单点登录模块。CAS应默认包含并安装到Webspark网站中。如果需要实施,请安装并启用CAS模块以允许用户创建账户并验证到您的网站。
关于缓存的说明
ASU品牌头部为性能而缓存。当您更新在头部中使用的菜单时,请清除缓存以立即查看您的更新。在Drupal UI中,转到管理 -> 配置 -> 性能以清除缓存。
如何配置您的头部
Webspark网站安装时已启用ASU头部并默认将其放置在网站布局中,主菜单配置为头部菜单。如果您想重新配置头部或向您的网站添加额外的头部,例如子站或微型站,请转到管理 -> 结构 -> 区块,并将“ASU品牌头部”块放置在您网站的头部区域。您创建的每个头部块都有自己的独立设置。大多数网站只需要一个。
在ASU品牌头部块设置中,您可以更改头部设置,但默认设置应适用于大多数情况。
下拉菜单中的列
要创建菜单列,请在菜单的第二级添加菜单链接,并在“ASU品牌菜单链接类型”下拉菜单中将其配置为“标题 - 开始一个列”设置。从该标题之后的所有第二级菜单链接都将位于该列中,直到遇到下一个“标题”菜单链接并开始新的列。
关于菜单中的按钮的说明
菜单中有三种类型的按钮可供使用。
- 顶级行动按钮与顶级菜单项并排显示,并在块配置中进行配置。
- 下拉菜单列中的按钮使用“ASU品牌菜单链接类型”下拉菜单在菜单链接项表单上配置。
- 通过点击菜单链接项的“在下拉托盘显示为ASU品牌按钮”复选框来启用下拉菜单底部的按钮。对于2和3,如果该菜单项位于您的菜单的第二级,启用按钮设置将仅将该菜单链接转换为相应的按钮类型。如果这些菜单链接字段配置在非标题菜单中,则会被忽略。
标题菜单深度
仅在标题中显示顶部的和第二级的标题菜单链接。
其他配置
与GTM和Cookie同意相关的全局配置可以在以下点击路径中找到:管理员 -> 配置 -> ASU品牌设置。
标题资源
ASU品牌标题的早期版本从外部源加载标题。Webspark 2版本的模块现在包含了Unity设计系统“components-library”标题组件的所有标题资源。
关于工具栏菜单的说明
ASU品牌标题设计用于与提供管理系统链接的Drupal核心工具栏菜单一起使用。提供工具栏下拉菜单的流行Drupal模块Admin Toolbar目前不受支持。
帮助!标题与我的内容或UI重叠!
ASU品牌标题使用固定定位,这可能导致UI中其他固定定位元素的问题。我们已尝试捕捉并提供了CSS规则,以调整Webspark中提供的那些UI元素。如果您有自定义或添加了重叠的模块,可以使用以下CSS进行UI调整
body.asu-brand-header-present {
/* Your rules here. See css/asu_brand.header.css for examples from this
module. To see how the ASU Brand module uses Javascript to detect and
apply necessary changes related to the header, see
js/asu_brand.header.js */
}
扩展Google Analytics数据层
ASU品牌模块初始化一个Google Analytics数据层,以便前端Unity组件使用。数据层已实现,以便模块可以利用它,通过使用hook_asu_brand_gtm_datalayer_alter()钩子。请注意,使用此钩子添加基于页面的数据层推送尚未测试,因此开发者在实施时必须确保其行为符合预期且不会干扰现有页面上的其他数据层使用。如果您测试了此功能,我们很乐意听取您的体验。
function hook_asu_brand_gtm_datalayer_alter(array &$datalayer) {
// Set a "site" variable return.
$datalayer['site'] = 'My Site';
}
*/