9.9.2. Config Split, Config Ignore. Verschillende configuraties maken voor verschillende instanties.
Heel vaak moet de toegang tot externe services verschillen tussen de ontwikkel- en live-instanties. Om dit te doen met behulp van configuraties, moet je de Configuration Split-module gebruiken:
https://www.drupal.org/project/config_split
Nadat je de Config Split-module hebt ingeschakeld, kun je de mappen voor de instanties specificeren. Laten we naar de instellingenpagina van de Configuration Split-module gaan:
/admin/config/development/configuration/config-split
Laten we nu splitsinstellingen toevoegen voor lokale, ontwikkel- en live-instanties.
Het pad naar de map kan meteen worden opgegeven als het pad hetzelfde is op alle instanties. Je moet ook het vakje Actief uitschakelen; we zullen de configuratie die we nodig hebben inschakelen via settings.php in elke instantie afzonderlijk.
Nadat we de Config Split-instellingen hebben toegevoegd, moeten we de mappen config/local, config/dev, config/live maken:
Laten we nu de lokale configuratie inschakelen op onze lokale instantie:
$config['config_split.config_split.local']['status'] = TRUE;
Daarna moeten de volgende regels worden toegevoegd aan settings.php voor de ontwikkel- en live-instanties:
// Dev
$config['config_split.config_split.dev']['status'] = TRUE;
// Live
$config['config_split.config_split.live']['status'] = TRUE;
Nu, om een van de configuraties voor een specifieke instantie opnieuw te definiëren, hoef je alleen maar de benodigde configuratie in de gewenste map te plaatsen en voor deze instantie zal de benodigde afzonderlijke configuratie worden bepaald. Laten we de sitenaam afzonderlijk hernoemen voor de lokale site:
/config/local/system.site.yml:
uuid: e6754486-60a0-48ad-b2d1-84a9b46926f4
name: 'DrupalBook Lessons - Local Site'
mail: levmyshkin89@gmail.com
slogan: ''
page:
403: ''
404: ''
front: /node
admin_compact_mode: false
weight_select_max: 100
langcode: en
default_langcode: en
_core:
default_config_hash: yXadRE77Va-G6dxhd2kPYapAvbnSvTF6hO4oXiOEynI
Nu, als je naar de Configuration Synchronization-pagina gaat, zie je de overschreven configuratie:
Nu kun je verschillende toegangen definiëren voor verschillende instanties voor SMTP, Salesforce, betalingssysteem en andere services.
Config Ignore
Misschien vind je het niet prettig dat je SMTP-toegang in configuraties staan en toegevoegd worden aan Git. Dan kun je SMTP-instellingen toevoegen aan config ignore met de Configuration Ignore-module:
https://www.drupal.org/project/config_ignore
We hebben de Config Split-module gebruikt om verschillende instellingen voor de sitenaam te maken. We kunnen ook system.site-configuraties aan de ignore toevoegen. Laten we naar de Config Ignore-instellingenpagina gaan:
/admin/config/development/configuration/ignore
En laten we deze system.site-configuratie in de ignore toevoegen:
Nu, als je naar de Configuration Synchronization-pagina gaat, worden de bijgewerkte en genegeerde configuraties in een apart gedeelte weergegeven: