public static function EntityExportFormBuilder::onAddMenuToExport in Content Synchronizer 3.x
Create an export and add Menu Items.
Parameters
array $form: The form.
\Drupal\Core\Form\FormStateInterface $formState: The formstate.
Throws
\Drupal\Core\Entity\EntityStorageException
File
- src/
Service/ EntityExportFormBuilder.php, line 296
Class
- EntityExportFormBuilder
- The entity export form builder.
Namespace
Drupal\content_synchronizer\ServiceCode
public static function onAddMenuToExport(array &$form, FormStateInterface $formState) {
$menu = $formState
->getFormObject()
->getEntity();
if ($menu instanceof Menu) {
// Create a menu export.
$exportEntity = ExportEntity::create([
'name' => $menu
->label(),
]);
$exportEntity
->save();
// Add all menu items.
$menuLinkTree = \Drupal::service('menu.link_tree');
$tree = $menuLinkTree
->load($menu
->id(), new MenuTreeParameters());
static::me()
->addMenuElementsToExportEntity($tree, $exportEntity);
$formState
->setRedirectUrl(Url::fromRoute('entity.export_entity.canonical', [
'export_entity' => $exportEntity
->id(),
]));
}
}