Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Articles

13/04/2025, by Ivan

By default, configuration information in Drupal 8 is stored in the database.

Configuration File Format (YAML)

Extensions (modules, themes, and profiles) provide configuration data in YAML files.

Here's an example of a configuration file:

some_string: 'Woo kittens!'
some_int: 42
some_bool: true

Configuration can also be nested. Here's an example:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

Drupal 8's configuration system handles configuration in a unified way. By default, Drupal stores configuration data in the database, but it can be exported to YAML files for version control. However, there are scenarios where configuration values need to be overridden for specific purposes. In Drupal 7, this was done using the global $conf variable, often populated in settings.php for conditional overrides. A major drawback of that system was that overrides would be saved into the actual configuration storage.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

Drupal 8 includes support for a configuration schema/metadata language based on Kwalify (http://www.kuwata-lab.com/kwalify/) for YAML configuration files. Kwalify itself is written in Ruby and required some modifications for our purposes, so not all Kwalify details apply directly, but it's quite close.

Cheatsheet

For a quick understanding and some helpful examples, refer to this cheat sheet, and continue reading if you still have questions:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

Configuration objects can declare dependencies. A dependency can be a module, theme, or entity.

A configuration object’s dependencies must be present before the configuration object can be installed. If the required dependencies are missing on the site, the configuration object will fail to install. A module must declare in its module info YAML file any module or theme dependencies required by its configuration objects.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

This page provides an example of how to create a configuration entity type with administrative management pages in Drupal 8. For an introduction to the concepts of simple configuration and configuration entities, see https://drupal.org/node/2120523.

After enabling the example module that contains the code below, the configuration form should be available at “admin/config/system/example”, as shown in the screenshot:

2016-12-18-002716

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

Using $config in the Context of a Form

This page describes the API for retrieving and setting configuration data for simple configuration. (This does not apply to information stored in configuration objects.)

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

Using $config in the Context of a Form

You can use configuration forms to see how $config can retrieve user-entered data and update information in the {module}.settings.yml file. Here's the code to declare a $config object within a form, typically found in a PHP settings form file.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

The Drupal 8 Database API provides a standardized, vendor-independent abstraction layer for accessing database servers. You should almost never make direct database calls unless you are developing core APIs.

The API is designed to preserve the syntax and power of SQL as much as possible, while also:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

13/04/2025, by Ivan

The Drupal database layer is built on top of the PHP PDO library. PDO provides a unified, object-oriented API for accessing various databases, but it does not offer abstraction for the different SQL dialects used by different database systems.

Source URL:
Source authors:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.