Drupal 8 - 使用.settings文件创建一个简单的模块

时间:2015-12-08 23:00:48

标签: drupal-modules drupal-8

我只想完成一件事,在.settings文件中设置var并在.module文件上使用此var。

听起来很简单,但我无法弄清楚这是怎么回事。

到目前为止我做了什么:

-files:
modulename
_ | - > modulename.info.yml
_ | - > modulename.module
_ | - >配置
____ | - > modulename.settings.yml

- modulename.settings.yml的内容:

some_string: 'A string'
some_int: 42
some_bool: true

- modulename.info.yml的内容:

name: modulename
type: module
description: 'Some description.'
package: Custom
version: 8.x-1.0
core: 8.x
configure: config/modulename
hidden: false

- modulename.module的内容:

<?php
...[omitted]...
print_r('Printed');
print_r(get_class(\Drupal::config('modulename.settings'))); //Prints 'Drupal\Core\Config\ImmutableConfig'
print_r(\Drupal::config('modulename.settings')->get('some_string')); //nothing
print_r(\Drupal::config('modulename.settings')->get('modulename.some_string')); //nothing
print_r(\Drupal::config('modulename')->get('some_string')); //nothing
print_r(\Drupal::config('config.modulename')->get('some_string')); //nothing
print_r(\Drupal::config('config.modulename.settings')->get('some_string')); //nothing

我能够安装此模块并在页面上打印一些信息,但我无法访问任何var。

提前感谢。

1 个答案:

答案 0 :(得分:3)

你应该将settings.yml文件放在modulename / config / install文件夹中(可能你必须再次卸载并安装模块)。

还有一个关于信息文件中'configure:config / modulename'的注释:我认为应该指向一个路由名称,它代表用于配置模块的页面。