it-swarm-eu.dev

Jak nastavím proměnnou v konfiguračním souboru setting.php a použiji ji z kódu?

Jak nastavím proměnnou v konfiguračním souboru setting.php a použiji ji z kódu?

21
David

v settings.php:

$conf['yoursite_something'] = 5;

Poté ve vašem kódu:

// Second argument is the default.
variable_get('yoursite_something', NULL);

Ujistěte se, že jsou předpony předpony, buď s modulem, ve kterém je používáte, nebo s názvem webu.

27
Berdir

Uvědomte si, že není nutné deklarovat trvalé proměnné v settings.php. Můžete jednoduše volat proměnnou_get () z vašeho kódu a definovat výchozí hodnotu v případě, že proměnná není nastavena. Například následující kód řekne ahoj na každou žádost o stránku, pokud proměnná 'mymodule_say_hello' není explicitně nastavena na 0:

<?php
function mymodule_init() {
  // Get the mymodule_say_hello variable or use 1 if it's not set. 
  if (variable_get('mymodule_say_hello', 1)) {
    drupal_set_message('Hello world');
  }
}
?>

V případě potřeby by váš modul mohl publikovat formulář, který umožňuje správci tuto funkci zapnout (funkce system_settings_form je to opravdu snadné) nebo můžete nastavení programově změnit voláním variable_set('mymodule_say_hello', 0) .

5
marcvangend

Drupal 8

V souboru settings.php:

$settings['foo'] = 'bar';

Ve vašem kódu:

use Drupal\Core\Site\Settings;

Settings::get('foo', 'mydefaultvalue');
1
leymannx