cu-boulder/ucb_site_configuration

允许CU Boulder网站管理员配置特定于网站的设置。

安装数: 19,130

依赖项: 0

建议者: 0

安全: 0

星级: 1

关注者: 4

分支: 0

开放问题: 1

类型:drupal-custom-module

20231212 2023-12-12 18:23 UTC

This package is auto-updated.

Last update: 2024-09-01 16:49:15 UTC


README

重要:CU Boulder 网站配置被视为 CU Boulder 基础主题的配套模块。这两个模块应一起安装,并且当修改主题设置时必须一起更新。

功能

CU Boulder 网站配置是一个与 Drupal 9+ 兼容的模块,允许具有适当权限的用户修改 CU Boulder 提供的全局设置和信息。该模块提供的主要功能分为三个部分,并在默认 Drupal 配置菜单中放置了一个相应的三项子菜单。

外观

路径: /admin/config/cu-boulder/appearance

用户权限: 编辑 ucb 网站外观

"外观"管理表单向具有上述权限的用户公开支持的主题设置。它与 CU Boulder 基础主题的默认 Drupal 主题设置表单分开,并且需要不同的权限才能访问,但这两个表单都是使用 SiteConfiguration::buildThemeSettingsForm 构建的。

要在"外观"管理表单上公开的主题设置定义在 /config/install/ucb_site_configuration.configuration.yml 中。SiteConfiguration::buildThemeSettingsForm 应输出一个包含所有 CU Boulder 基础主题设置的表单,包括在"外观"管理表单上未公开的设置。

联系方式

路径: /admin/config/cu-boulder/contact-info

用户权限: 编辑 ucb 网站联系方式

在"联系方式"管理表单中可以编辑网站联系方式,并作为网站联系方式块提供,该块用于页脚区域(在安装时,安装配置文件 处理块配置和区域定位)。该块提供有关特定网站的信息,包括

  • 地址
  • 电子邮件
  • 传真
  • 电话

第三方服务

路径: /admin/config/cu-boulder/services

用户权限: 管理 ucb 外部服务

具有上述权限的用户可以选择在"第三方服务"管理页面上添加选定的客户端第三方服务(JavaScript)到他们的网站上。支持的服务包括

这些服务可以按需配置和添加到页面,可以选择特定页面或网站上的所有页面。此外,它们可以在创建或编辑内容时作为选项出现,使没有权限 管理 ucb 外部服务 的内容作者能够添加或删除它们。

这些服务的某些默认配置不提供,确保它们配置正确是网站管理员的职责。

维护

CU Boulder 网站配置遵循 语义版本控制,即熟悉的 major.minor.patch。

配置更新

为了简化,模块的大部分静态配置可以在以下位置找到:/config/install/ucb_site_configuration.configuration.yml,而/config/install/ucb_site_configuration.settings.yml旨在包含可由用户修改的默认设置。这些文件仅在安装时读取,并且必须能够在不重新安装模块的情况下进行更新,因为这会导致现有站点上的数据丢失。更新钩子可以用来解决这个问题。

以下是一个示例工作流程,用于添加一个主题设置来改变页眉文本大小,提供的选项,默认为,并通过“外观”管理表单暴露给新旧站点。它不包括CU Boulder基础主题中如修改模板以应用更改等额外步骤。

  • 步骤1:增加CU Boulder基础主题的次要版本号。在CU Boulder基础主题中,将以下行添加到/config/install/boulderD9_base.settings.yml

    ucb_header_text_size: 'medium'
  • 步骤2:在CU Boulder站点配置中,将表单字段添加到SiteConfiguration::buildThemeSettingsForm中编辑设置。您的代码可能看起来像这样

    $form['ucb_header_text_size'] = [
    	'#type'           => 'select',
    	'#title'          => $this->t('Site header text size'),
    	'#default_value'  => theme_get_setting('ucb_header_text_size', $themeName) ?? 'medium',
    	'#options'        => [
    		'small'  => $this->t('Small'),
    		'medium' => $this->t('Medium'),
    		'large'  => $this->t('Large')
    	],
    	'#description'    => $this->t('Select the text size for the header at the top of the page.')
    ];
  • 步骤3:增加CU Boulder站点配置的次要版本号。在CU Boulder站点配置中,将以下行添加到/config/install/ucb_site_configuration.configuration.yml下的editable_theme_settings

     - ucb_header_text_size
  • 步骤4:在CU Boulder站点配置中,在ucb_site_configuration.install中创建一个更新钩子,在更新现有站点时运行。您的代码可能看起来像这样

    /**
     * Adds theme setting for header text size.
     */
    function ucb_site_configuration_update_95xx() {
    	// Ensures the default value of `medium` is set for the theme setting
    	\Drupal::configFactory()->getEditable(\Drupal::service('ucb_site_configuration')->getThemeName() . '.settings')->set('ucb_header_text_size', 'medium')->save();
    	// Exposes the theme setting on the "Appearance" adminstration form by updating the module configuration
    	$config = \Drupal::configFactory()->getEditable('ucb_site_configuration.configuration');
    	$editableThemeSettings = $config->get('editable_theme_settings');
    	$editableThemeSettings[] = 'ucb_header_text_size';
    	$config->set('editable_theme_settings', $editableThemeSettings)->save();
    }
  • 步骤5:发布并部署CU Boulder基础主题和CU Boulder站点配置的新版本。清除缓存后,新的主题设置现在应该存在。