it-swarm.com.de

Was ist der Befehl, der 'drush variable-set' ersetzt?

In Drupal 8 der Drush-Befehl drush variable-set funktioniert nicht mehr.

Aus dem Lesen von ( hier ) geht hervor, dass Drupal 8 ein neues "Konfigurations" -System hat, das die alten (Drupal <= 7) "Variablen" ersetzt. Aber was ist der neue Drush-Befehl, um die gleichen Ziele zu erreichen?

Insbesondere möchte ich die Befehle konvertieren:

drush variable-set site_mail [email protected]
drush variable-set update_notify_emails [email protected]

zum neuen Drupal8/Drush8-Äquivalent ...

15
Jeremy Davis

Nach einigen weiteren Recherchen scheint der neue Befehl zu lauten:

  • drush config-set <config-name> <key> (wo das alte Format war drush variable-set <name> <value>). Alias: cset.

Ich bin mir also nicht ganz sicher, ob ich dieses Recht habe (also wäre ein Kommentar und/oder eine andere Antwort von jemandem, der dies tut, großartig ...), aber es scheint, dass die Konfiguration, die E-Mails enthält, lautet: contact.form.feedback recipients, update.settings notification.emails und system.site mail.

Dieses Update ist das Ergebnis einiger guter Diskussionen (siehe unten). Beachten Sie, dass einige Einstellungen Arrays (anstelle von Zeichenfolgen) sind:

www/drupal8# drush config-get update.settings notification
'update.settings:notification':
  emails:
    - [email protected]
  threshold: all

um dies zu aktualisieren, müssen Sie Folgendes ausführen:

drush -y config-set update.settings notification.emails.0 [email protected]

Quelle: Hebel Drush 7 für Drupal 8 .

Hinweis: Drush 7 unterstützt nicht mehr Drupal 8, dies gilt jedoch weiterhin.

19
Jeremy Davis

Zusätzliches Follow-up,

Um die Kennungen zu finden, die die Konfiguration abrufen oder festlegen soll,

  • Sie können die Maschinennamen von Variablen NICHT MEHR erraten, indem Sie nur die Formulare für die Systemeinstellungen überprüfen. Früher gab es eine 1: 1: 1-Übereinstimmung zwischen dem auf vielen Konfigurationsbildschirmen angezeigten Formularelement, dem $config['varname'], Das Sie in $settings.php Einfügen konnten, und drush vset/vget
  • Der Konfigurationsmanager in der Benutzeroberfläche (zu finden unter admin/config/development/configuration/single) Bietet so etwas wie einen variablen Browser.

Ich wollte mein local.settings.php Aktualisieren, um die CSS & JS-Aggregation beim Downsyncing immer zu deaktivieren.

D7:

$conf['preprocess_css'] = FALSE;
$conf['preprocess_js'] = FALSE;

D8:

$config['system.performance']['css']['preprocess'] = 0;
$config['system.performance']['js']['preprocess'] = 0;

(Und beachten Sie, dass diese Art der Überschreibung NICHT in Ihrer Admin-Benutzeroberfläche oder in drush config-get Angezeigt wird, obwohl sie wirksam wird.)

5
dman

Das hat bei mir funktioniert. Es ist ein Drush PHP EVAL-Befehl.

drush ev '\Drupal::state()->set("MY_VARIABLE", "MY_VALUE")'

Hier wird der Status von MY_VARIABLE festgelegt

Sie können auch get den Status einer Variablen:

drush ev 'echo \Drupal::state()->get("MY_VARIABLE")'
3
Parag