it-swarm.it

Come posso impostare una variabile nel file di configurazione setting.php e usarla dal codice?

Come posso impostare una variabile nel file di configurazione setting.php e usarla dal codice?

20
David

in settings.php:

$conf['yoursite_something'] = 5;

Quindi, nel tuo codice:

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

Assicurati di aggiungere il prefisso alle variabili, con il modulo in cui lo stai utilizzando o con il nome del sito.

27
Berdir

Nota che non è necessario dichiarare variabili persistenti in settings.php. Puoi semplicemente chiamare variabile_get () dal tuo codice e definire un valore predefinito nel caso in cui la variabile non sia impostata. Ad esempio, il seguente codice saluterà ogni richiesta di pagina purché la variabile 'mymodule_say_hello' non sia esplicitamente impostata su 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');
  }
}
?>

Se necessario, il tuo modulo potrebbe pubblicare un modulo che consente all'amministratore di disattivare questa funzione (la funzione system_settings_form lo rende davvero semplice) oppure puoi modificare le impostazioni a livello di codice chiamando variable_set('mymodule_say_hello', 0) .

5
marcvangend

Drupal 8

Nel tuo settings.php:

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

Nel tuo codice:

use Drupal\Core\Site\Settings;

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