Drupal 7にvariable_getを使用しているコードがあります。ここで、コードをDrupal 8.で記述します。つまり、読んでいました this しかし、それは私を助けませんでした。
Drupal 8でこのコードを記述する方法Drupal 7のコードから?
$types = array_values(variable_get('test_content_types', array()));
またはこれ
'#default_value' => variable_get('test_content_types', array()),
いくつかの提案。
Drupal 7
$data = variable_get('test_content_types');
Drupal 8
$data = \Drupal::state()->get('test_content_types');
"get"、 "set"、 "delete"の詳細については、次を参照してください- ステップ5:D7変数をD8の状態システムにアップグレードする方法 。
受け入れられた答えは答えの半分です。 marcvangendによると、変数テーブルに保存され、variable_set()
およびvariable_get()
を使用して保存および取得されたものについて、Drupal 8には2つのオプションがあります。最初は、darol100の回答に記載されていますが、 State API です。
2番目は 構成API であり、構成フォームがあるほとんどの場合に使用する必要があります。 minimum にモジュールの構成インストールファイルが必要です(例:config/install/example.settings.yml
。単一の構成(複数の潜在的な値を持つ)の場合、そのファイルには次の例のみを含めることができます。
test_content_types: - article
そして、値を次のように使用します:
$types = \Drupal::config('example.settings')->get('test_content_types');
または、次のようにして保存されている値を変更します。
\Drupal::service('config.factory')
->getEditable('example.settings')
->set('test_content_types', ['article', 'page'])
->save();
Drupal 8 D7からD8への構成のアップグレード および モジュールでの構成の使用 に関するドキュメントも参照してください。