首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让Drupal8访问web根目录之外的配置文件?

在Drupal 8中,要让它访问web根目录之外的配置文件,可以按照以下步骤进行操作:

  1. 创建一个新的配置文件目录:在Drupal 8的根目录下,创建一个新的目录,例如"config"。
  2. 创建配置文件:在"config"目录下创建一个新的配置文件,例如"myconfig.yml"。
  3. 编辑配置文件:打开"myconfig.yml"文件,并添加所需的配置信息。确保配置文件的格式正确,并按照Drupal 8的配置文件规范进行编写。
  4. 创建一个自定义模块:在Drupal 8的"modules"目录下创建一个新的自定义模块,例如"custom_module"。
  5. 创建一个服务定义文件:在"custom_module"目录下创建一个新的服务定义文件,例如"custom_module.services.yml"。
  6. 在服务定义文件中添加配置:打开"custom_module.services.yml"文件,并添加以下内容:
代码语言:txt
复制
services:
  custom_module.config:
    class: Drupal\Core\Config\ConfigFactoryOverrideInterface
    tags:
      - { name: config.factory.override }
    arguments: ['@config.factory']
  1. 创建一个自定义模块的配置文件:在"custom_module"目录下创建一个新的配置文件,例如"custom_module.settings.yml"。
  2. 在自定义模块的配置文件中添加配置:打开"custom_module.settings.yml"文件,并添加以下内容:
代码语言:txt
复制
my_config_path: '../config/myconfig.yml'
  1. 创建一个自定义模块的配置表单:在"custom_module"目录下创建一个新的配置表单文件,例如"CustomModuleSettingsForm.php"。
  2. 在配置表单文件中添加表单元素:打开"CustomModuleSettingsForm.php"文件,并添加以下内容:
代码语言:php
复制
<?php

namespace Drupal\custom_module\Form;

use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;

class CustomModuleSettingsForm extends ConfigFormBase {

  /**
   * {@inheritdoc}
   */
  protected function getEditableConfigNames() {
    return ['custom_module.settings'];
  }

  /**
   * {@inheritdoc}
   */
  public function getFormId() {
    return 'custom_module_settings_form';
  }

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {
    $config = $this->config('custom_module.settings');

    $form['my_config_path'] = [
      '#type' => 'textfield',
      '#title' => $this->t('My Config Path'),
      '#default_value' => $config->get('my_config_path'),
    ];

    return parent::buildForm($form, $form_state);
  }

  /**
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {
    $this->config('custom_module.settings')
      ->set('my_config_path', $form_state->getValue('my_config_path'))
      ->save();

    parent::submitForm($form, $form_state);
  }

}
  1. 创建一个路由文件:在"custom_module"目录下创建一个新的路由文件,例如"custom_module.routing.yml"。
  2. 在路由文件中添加路由信息:打开"custom_module.routing.yml"文件,并添加以下内容:
代码语言:yaml
复制
custom_module.settings_form:
  path: '/admin/config/custom_module/settings'
  defaults:
    _form: '\Drupal\custom_module\Form\CustomModuleSettingsForm'
    _title: 'Custom Module Settings'
  requirements:
    _permission: 'administer site configuration'
  1. 启用自定义模块:在Drupal 8的管理界面中,启用刚刚创建的自定义模块。

现在,Drupal 8将能够访问位于web根目录之外的配置文件。你可以在自定义模块的配置表单中设置配置文件的路径,并在代码中使用该配置。请注意,这只是一种方法,你可以根据自己的需求进行调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何提高 Web访问性,残障人士拥有更好体验?

内容更容易访问不能仅仅依靠 Web 开发人员,或者只是勾选视频字幕和替换文本框。...现在,你对创建可访问 Web 内容准则及其历史已经有了一些了解,让我们看看这对于你网站究竟意味着什么。 多媒体内容可访问 大部分人都知道,所有视频都需要字幕。...图片可访问Web 上使用图片时,其中一个最好做法是尽可能不使用带有文字图片或文字密集图形。事实上,为了满足 AAA 级标准,所有带文字图片都必须是装饰性。 什么是装饰性图片?...如果你确实想包括这些内容,那么你应该设法询问对方他们会如何描述自己。 文本可访问 语言 为了使文本易于理解,你应该使用简单明了语言。在短句和文本块中使用简单词语。...你需要花费时间和精力来理解这些准则以及如何实现它们。 希望你现在对提高可访问性需要做一些事情有了更多了解,因为使网站内容可访问不仅仅是 Web 开发人员责任。

71420

用 Groovy 解析 JSON 配置文件

应用程序通常包括某种类型默认或“开箱即用”状态或配置,以及某种用户根据自己需要定制配置方式。...例如,LibreOffice Writer 通过其菜单栏上工具 > 选项,可以访问诸如用户数据、字体、语言设置等(以及更多)设置。...在这篇文章中,我将回避关于是否使用 JSON 作为配置文件格式争论,并解释如何使用 Groovy 编程语言 来解析这类信息。...演示 JSON 配置文件 在这个演示中,我从 Drupal 中截取了这个 JSON 文件,它是 Drupal CMS 使用主要配置文件,并将其保存在文件 config.json 中: { "vm"...下面是另一个程序,显示如何访问存储在 config.vm.ip 值: import groovy.json.JsonSlurper def jsonSlurper = new JsonSlurper

3.7K50
  • 用 Groovy 解析 JSON 配置文件

    应用程序通常包括某种类型默认或“开箱即用”状态或配置,以及某种用户根据自己需要定制配置方式。...例如,LibreOffice Writer 通过其菜单栏上工具 > 选项,可以访问诸如用户数据、字体、语言设置等(以及更多)设置。...在这篇文章中,我将回避关于是否使用 JSON 作为配置文件格式争论,并解释如何使用 Groovy 编程语言 来解析这类信息。...演示 JSON 配置文件 在这个演示中,我从 Drupal 中截取了这个 JSON 文件,它是 Drupal CMS 使用主要配置文件,并将其保存在文件 config.json 中: { "vm"...下面是另一个程序,显示如何访问存储在 config.vm.ip 值: import groovy.json.JsonSlurper def jsonSlurper = new JsonSlurper

    4K20

    WEB-INF目录下jsp访问外部css,js等配置文件

    WEB-INF目录下jsp访问外部css,js等配置文件 1、项目目录结构: 2、解决方案 2.1 EL表达式实现 2.2 设置base标签 2.3 实现效果 3、总结 3.1 ${pageContext.request.contextPath...} 3.2 base标签 1、项目目录结构: 我现在要在404.jsp页面访问webapp/commons目录下面的css和js 2、解决方案 2.1 EL表达式实现 jsp文件头部加上 使用EL表达式获取项目路径,引用在原路径前面,即可成功访问...也就是取出部署应用程序名或者是当前项目名称 3.2 base标签 base 元素可规定页面中所有链接基准 URL 默认情况下,页面中链接(包括样式表、脚本和图像地址)都是相对于当前页面的地址...(即:浏览器地址栏里请求URL)。

    1.6K20

    用 Groovy 解析 JSON 配置文件

    应用程序通常包括某种类型默认或“开箱即用”状态或配置,以及某种用户根据自己需要定制配置方式。...例如,LibreOffice Writer 通过其菜单栏上工具 > 选项,可以访问诸如用户数据、字体、语言设置等(以及更多)设置。...在这篇文章中,我将回避关于是否使用 JSON 作为配置文件格式争论,并解释如何使用 Groovy 编程语言 来解析这类信息。...演示 JSON 配置文件 在这个演示中,我从 Drupal 中截取了这个 JSON 文件,它是 Drupal CMS 使用主要配置文件,并将其保存在文件 config.json 中: { "vm"...下面是另一个程序,显示如何访问存储在 config.vm.ip 值: import groovy.json.JsonSlurper def jsonSlurper = new JsonSlurper

    4.2K20

    如何将自己本地项目外网访问

    记得以前刚上大学学过一段编程以后总想着网站到底是怎么做,项目部署以后又怎么外网的人访问呢! 上学时候写个网站然后外网被人访问到处出装逼,现在想想上学时候还是蛮好玩。...不过以前刚接触查了一些资料以后,正确方法是把网站部署到一台购买服务器上然后在通过域名去访问。...现在慢慢接触多了也就不足为期了,但是有时候一个做好项目想别人外网访问总不能每个人都有服务器和域名吧!这东西又贵啊。...所以可以借助ngrok来实现将本地部署好项目映射到外网给人访问,接下来介绍下操作,首先先到下面网站上去注册下随便注册就行。...访问成功大功告成,域名成功访问,发到自己手机用数据流量测试下也完全正常访问。 每天 进步一点点

    11.4K41

    如何老板能访问员工电脑,而员工却不能访问老板电脑

    网络一向不只是能通就好,很多场景里面,都会有特殊需求,比如说,有时候需要配置VLAN之间TCP单向访问——在下图中,要求只允许PC1主动与PC2建立TCP连接,而不允许PC2主动发起与PC1TCP...针对客户要求,打算配置高级ACL和基于ACL流分类,通过限制ICMP和TCP连接方式实现PC1到PC2单向访问。...实际上网络架构当然不可能这么简单,本文只为展示TCP单向发起通讯配置方法,所以其他因素暂不考虑,也就暂时不需要引入其他设备了。...10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 icmp-type echo [Sw1-acl-adv-3001] quit 配置匹配于高级ACL流分类...谁能在模拟器里面配置成VLAN单向通讯,还请不吝赐教,谢谢。

    66310

    如何老板在内网用 Excel 访问 PowerBI 模型

    希望别人可以使用数据服务 不希望别人可以看到度量值和模型是如何构建 第五,企业支持王志远实现敏捷数据分析,支持数据文化,但尚未对大规模投资做好准备。...CEO 与王志远聊天 CEO 对王志远工作感到有些好奇,他过来并询问,如下: CEO:这套平台都是你做吗? WZY:是上次开会,您和张总(CFO)啊。 CEO:哦。这些数据存在哪里?...所以,现在用了一个叫:Power BI 内网精灵小工具,这是上次 BI 佐罗老师来公司培训给我们做数字化建设转型期用。目前用它来实现大家共享访问数据模型,现在还够用。 CEO:哦,好,了解了。...精灵不会触碰,修改,破解任何 Power BI 或 SSAS 相关组件,它只是将 Excel 访问请求发给 Power BI,又将信息发回给 Excel。...不必问我们什么时候发布,会进一步通知大家,这里只是久等大家看到我们持续更新状态。

    2.7K30

    如何局域网中其他主机访问虚拟机

    如何局域网中其他主机访问虚拟机 通常我们会在自己电脑上安装虚拟机作为服务器测试使用,当虚拟机中网页需要其他主机来访问使用时,需要对虚拟机做很多设置,本经验就一步步引导大家做设置。...注意: 如果没有看到ip地址,则进入目录“cd /etc/sysconfig/network-scripts”,用命令“ls | grep 'ifcfg-*'”来找到配置文件ifcfg-ens33(这个名称不同虚拟机不一样...编辑这个配置文件ifcfg-ens33,重点修改(增加)这两行: BOOTPROTO=dhcp ONBOOT=yes 保存退出。...主机1也能访问虚拟机1网页,但是主机2并不能访问到虚拟机1网页。接下来打开VMware Workstation,从菜单栏中选择“编辑-->虚拟网络编辑器”,点击“更改设置”。...然后,在主机2上用主机1IP+主机1端口方式来访问虚拟机1中网页,如:192.168.0.128:8000。如果这样不能访问成功,请接着做下一步。

    9.3K21

    Drupal8详细建站教程

    安装drupal所需基础 建站环境:Windows或Linux操作系统 Web服务器:Apache,Nginx,Lighttpd,或微软IIS服务器,只要能支持PHP环境web...开始安装 笔者操作系统是Windows,本次笔者将使用一个叫XAMPP集成软件包(XAMPP表示Apache,MySQL,PHP,Python),它安装和配置对于最初级技术人员来说都是很简单...”和“zip”两种压缩格式都可以选择,如下图所示: 3)将刚刚下载好Drupal 8安装包解压,并上传至您网站主机空间或将其移至您电脑本机存放网页根目录,本次笔者是在本地搭建,故需把解压后...Drupal 8移至 根目录,如下图所示: 4)移至完成后,需要在你刚才解压drupal文件中sites目录下default文件中将default.services.yml和default.settings.php...也可替换成127.0.0.1,都是本地意思,如下图笔者资料夹是命名为 drupal8,所以网址输入是http://localhost/drupal8: ②在语言选项中选择English,或选择简体中文

    1.3K50

    如何网站也能跟我一样使用HTTPS访问

    使用HTTPS访问我们网站,不仅可以增加我们网站安全性,更重要是还能提升我们网站逼格!我在为网站搭建SSL服务和CDN上有一些经验,在这里分享给大家,希望能帮到在这方面有需求小伙伴吧!!!...[如何网站也能跟我一样使用HTTPS访问?]...server_name hub.fengwenyi.com; # 域名,用于代替将要访问端口号 ssl_certificate cert/hub.fengwenyi.com.pem; #将domain...然后,我们将访问80端口时候,也跳转到这里 rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。...server_name hub.fengwenyi.com; # 域名,用于代替将要访问端口号 ssl_certificate cert/hub.fengwenyi.com.pem

    75800

    Tomcat 应用服务器如何设置 Web 服务目录精讲

    文章目录 前言 一、设置 Web 服务根目录 1.1、根目录位置 1.1.1、根目录默认访问地址(设置 IP) 1.1.2、根目录默认访问地址(未设置 IP) 二、设置 webapps 下 Web...,而服务目录配置又可以细分为若干种,本文就如何配置列举了如下几种方式。...用户如果准备访问根目录 JSP 页面,可以在浏览器输入 Tomcat 服务器 IP 地址(或域名)、端口号和 JSP 页面的名字即可(必须省略 Web 根目录名字)。...假设要将 D:\MyBook\zhang 以及 C:\wang 作为 Web 服务目录,并用户分别使用 apple 和 cloud 虚拟目录访问 Web 服务目录 D:\Mybook\zhang 和...你知道 Tomcat 支持并发量是多少吗?150。除此之外你还了解哪些呢?赶快补充到文章下面吧!

    1.4K40

    Tomcat 应用服务器如何设置 Web 服务目录精讲

    文章目录 前言 一、设置 Web 服务根目录 1.1、根目录位置 1.1.1、根目录默认访问地址(设置 IP) 1.1.2、根目录默认访问地址(未设置 IP) 二、设置 webapps 下 Web...,而服务目录配置又可以细分为若干种,本文就如何配置列举了如下几种方式。...用户如果准备访问根目录 JSP 页面,可以在浏览器输入 Tomcat 服务器 IP 地址(或域名)、端口号和 JSP 页面的名字即可(必须省略 Web 根目录名字)。...假设要将 D:\MyBook\zhang 以及 C:\wang 作为 Web 服务目录,并用户分别使用 apple 和 cloud 虚拟目录访问 Web 服务目录 D:\Mybook\zhang 和...那么可以在浏览器地址栏如下地址来访问 example1_1.jsp: http://127.0.0.1:8080/apple/image/example1_1.jsp ---- 总结 本文给大家介绍了如何设置

    2.4K51

    window系统下,如何mammoth.jsWeb demo跑起来

    Microsoft office 本身有自带另存为 .html文件方式,但是导出来网页文件,有很多冗余代码。...于是注意到工具 mammoth.js 在mammoth.js 说明文档里,有一个简易演示,具体操作如下: web demo 第一步:clone项目,没有问题。...这个是要执行项目中makefile文件里面的setup目标(即make会按照Makefile里指令完成构建 一般就是编译打包之类操作)。...按照makefile构建过程,整理处理就是一下三个动作: # 按照项目中package.json 依赖包 npm install # 获取mammoth.browser.js到当前目录 node_modules...效果图 ps:关于mamoth.js使用,英文渣渣我,还一头雾水。希望其他小伙伴有使用心得总结,也可以一起分享交流。

    1.9K30
    领券