You are here

public static function MieDemoBaseUtility::createMieDemoBaseMenuMenuLinkContent in Menu Item Extras 8.2

Creates `mie-demo-base-menu` Drupal Menu Link Content.

Parameters

string $title: Menu link title.

string $uri: Menu link URL.

int $weight: (optional) Menu link weight.

string $description: (optional) Menu link description.

string $parent_uuid: (optional) Menu link parent UUID.

string $view_mode: (optional) Menu link view mode property.

bool $show_expanded: (optional) Show as expanded menu link.

string $field_body_value: (optional) Value for menu link body field.

\Drupal\taxonomy\Entity\Term[] $taxonomy_terms: (optional) Taxonomy terms for attaching to menu link.

string $image_file_id: (optional) File ID for image field.

Return value

\Drupal\menu_link_content\Entity\MenuLinkContent Drupal Menu Link Content entity.

1 call to MieDemoBaseUtility::createMieDemoBaseMenuMenuLinkContent()
mie_demo_base_install in modules/mie_demo_base/mie_demo_base.install
Implements hook_install().

File

modules/mie_demo_base/src/Utility/MieDemoBaseUtility.php, line 108

Class

MieDemoBaseUtility
Utility functions specific to mie_demo_base.

Namespace

Drupal\mie_demo_base\Utility

Code

public static function createMieDemoBaseMenuMenuLinkContent($title, $uri, $weight = 0, $description = '', $parent_uuid = '', $view_mode = '', $show_expanded = FALSE, $field_body_value = '', array $taxonomy_terms = NULL, $image_file_id = NULL) {
  $values = [
    'bundle' => 'mie-demo-base-menu',
    'menu_name' => 'mie-demo-base-menu',
    'title' => $title,
    'expanded' => $show_expanded,
    'link' => [
      'uri' => $uri,
      'title' => $title,
    ],
    'weight' => $weight,
    'description' => $description,
    'field_body' => [
      'value' => $field_body_value,
      'format' => 'basic_html',
    ],
    'view_mode' => 'default',
  ];
  if (!empty($parent_uuid)) {
    $values['parent'] = 'menu_link_content:' . $parent_uuid;
  }
  if (!empty($view_mode)) {
    $values['view_mode'] = $view_mode;
  }
  if (!empty($taxonomy_terms)) {
    foreach ($taxonomy_terms as $taxonomy_term) {
      $values['field_mie_demo_content_terms'][]['target_id'] = $taxonomy_term
        ->id();
    }
  }
  if (!empty($image_file_id)) {
    $values['field_image'] = [
      'target_id' => $image_file_id,
      'alt' => '',
      'width' => '',
      'height' => '',
    ];
  }
  $sample_link = MenuLinkContent::create($values);
  $sample_link
    ->save();
  return $sample_link;
}