在 Drupal 8 中设置默认地址字段的值
Set values for default address fields in Drupal 8
我需要在创建节点时为默认地址字段(langcode、country_code、administrative_area、address_locality 等)设置值。我在由 Drupal\Core\Form\FormBase
class 扩展的表单 class 的 submitForm
函数中使用了以下代码。但它对我不起作用。
$venueNode = Node::create([
'type' => 'venue',
'title' => 'Venue',
'field_address' => [
'country_code' => 'US',
'address_line1' => '1098 Alta Ave',
'locality' => 'Mountain View',
'administrative_area' => 'US-CA',
'postal_code' => '94043',
],
]);
$venueNode->save();
我在这里犯了一个错误。 field_address
应该有一个 0
索引。因此代码应该如下所示。
$venueNode = Node::create([
'type' => 'venue',
'title' => 'Venue',
'field_address' => [
0 => [
'country_code' => 'US',
'address_line1' => '1098 Alta Ave',
'locality' => 'Mountain View',
'administrative_area' => 'US-CA',
'postal_code' => '94043',
],
],
]);
$venueNode->save();
我需要在创建节点时为默认地址字段(langcode、country_code、administrative_area、address_locality 等)设置值。我在由 Drupal\Core\Form\FormBase
class 扩展的表单 class 的 submitForm
函数中使用了以下代码。但它对我不起作用。
$venueNode = Node::create([
'type' => 'venue',
'title' => 'Venue',
'field_address' => [
'country_code' => 'US',
'address_line1' => '1098 Alta Ave',
'locality' => 'Mountain View',
'administrative_area' => 'US-CA',
'postal_code' => '94043',
],
]);
$venueNode->save();
我在这里犯了一个错误。 field_address
应该有一个 0
索引。因此代码应该如下所示。
$venueNode = Node::create([
'type' => 'venue',
'title' => 'Venue',
'field_address' => [
0 => [
'country_code' => 'US',
'address_line1' => '1098 Alta Ave',
'locality' => 'Mountain View',
'administrative_area' => 'US-CA',
'postal_code' => '94043',
],
],
]);
$venueNode->save();