Commit 1fe9ade5 authored by ghost of drupal past's avatar ghost of drupal past Committed by chx
Browse files

Issue #3317493 by Charlie ChX Negyesi: Integrate into core menus

parent ab0e72f2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,4 +8,5 @@ dependencies:
  - drupal:block
  - drupal:menu_ui
  - group:group
  - group_content_menu:menu_link_reference
configure: entity.group_content_menu_type.collection
+32 −0
Original line number Diff line number Diff line
<?php

/**
 * @file
 */

use Drupal\Core\Extension\ModuleInstallerInterface;
use Drupal\Core\Field\BaseFieldDefinition;

/**
 * Implements hook_update_N().
 */
function group_content_menu_update_9000() {
  $installer = \Drupal::service('module_installer');
  assert($installer instanceof ModuleInstallerInterface);
  $installer->install(['menu_link_reference']);
  $field = BaseFieldDefinition::create('menu_link_reference')
    ->setLabel(t('Menu parent'))
    ->setRequired(FALSE)
    ->setTranslatable(FALSE)
    ->setDisplayOptions('view', [
      'region' => 'hidden',
    ])
    ->setDisplayOptions('form', [
      'region' => 'hidden',
    ])
    ->setDisplayConfigurable('view', FALSE)
    ->setDisplayConfigurable('form', TRUE);
  \Drupal::entityDefinitionUpdateManager()
    ->installFieldStorageDefinition('parent', 'group_content_menu', 'group_content_menu', $field);

}
+2 −2
Original line number Diff line number Diff line
@@ -110,17 +110,17 @@ function group_content_menu_group_insert(EntityInterface $entity) {
      'bundle' => $plugin->getDerivativeId(),
    ]);
    $group_menu->save();
    assert($group_menu instanceof GroupContentMenuInterface);

    // Add menu link for group if enabled.
    $auto_create_home_link = $group_type_configuration['auto_create_home_link'];
    if ($auto_create_home_link) {
      $menu_name = GroupContentMenuInterface::MENU_PREFIX . $group_menu->id();
      $menu_link = \Drupal::entityTypeManager()->getStorage('menu_link_content')->create([
        'title' => $group_type_configuration['auto_create_home_link_title'],
        'link' => [
          'uri' => 'internal:/group/' . $entity->id(),
        ],
        'menu_name' => $menu_name,
        'menu_name' => $group_menu->getMenuName(),
      ]);
      $menu_link->save();
    }
+3 −0
Original line number Diff line number Diff line
@@ -5,3 +5,6 @@ services:
      - '@entity_type.manager'
    tags:
      - { name: access_check, applies_to: _group_menu_owns_content }
  group_content_menu.menu_id_helper:
    class: Drupal\group_content_menu\MenuIdHelper
    arguments: ['@menu.tree_storage', '@entity_type.manager']

group_content_submenu/README.md

deleted100644 → 0
+0 −3
Original line number Diff line number Diff line
After creating a group content menu type, add the parent menu name and
the parent menu link fields. Now you can select a core menu and a link
within that and the group menu will appear inside the core menu.
Loading