Wie setze ich eine Variable in der Konfigurationsdatei setting.php und verwende sie aus dem Code?


21

Wie setze ich eine Variable in der Konfigurationsdatei setting.php und verwende sie aus dem Code?

Antworten:


27

in settings.php:

$conf['yoursite_something'] = 5;

Dann in Ihrem Code:

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

Stellen Sie sicher, dass Sie den Variablen entweder das Modul voranstellen, in dem Sie sie verwenden, oder den Site-Namen.


5

Beachten Sie, dass es nicht erforderlich ist, persistente Variablen in settings.php zu deklarieren. Sie können einfach variable_get () aus Ihrem Code aufrufen und einen Standardwert definieren, falls die Variable nicht gesetzt ist. Der folgende Code sagt beispielsweise bei jeder Seitenanforderung Hallo, solange die Variable "mymodule_say_hello" nicht explizit auf "Hallo" gesetzt ist 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');
  }
}
?>

Bei Bedarf kann Ihr Modul ein Formular veröffentlichen, mit dem der Administrator diese Funktion deaktivieren kann (die Funktion system_settings_form macht dies sehr einfach), oder Sie können die Einstellungen programmgesteuert durch Aufrufen ändern variable_set('mymodule_say_hello', 0).


1

Drupal 8

In deiner settings.php:

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

In Ihrem Code:

use Drupal\Core\Site\Settings;

Settings::get('foo', 'mydefaultvalue');
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.