logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Ավելացնել հղում մենյուում

20/06/2025, by Ivan

Հիմա, երբ մենք ստեղծել ենք մեր մոդուլի կարգավորումների էջի լրացուցիչը, եկեք ավելացնենք հղում մենյուում։ Ստորև ներկայացված ցուցումների միջոցով ցույց է տրվում, թե ինչպես ստեղծել մենյուի հղում hello_world մոդուլին «Զարգացում» բաժնում՝ «Վարչապետ > Կոնֆիգուրացիա» էջում (http://example.com/admin/config

Մոդուլի root թղթապանակում ստեղծեք նոր ֆայլ hello_world.links.menu.yml անունով և ավելացրեք հետևյալը.

hello_world.admin:
  title: 'Hello մոդուլի կարգավորումները'
  description: 'Օրինակ՝ ինչպես ստեղծել ադմինիստրատիվ կարգավորումների էջի հղում'
  parent: system.admin_config_development
  route_name: hello_world.content
  weight: 100

Ուշադրություն դարձրեք, որ առաջին տողը վերապահում է անվանման տարածք, ինչպես մեր երթուղավորման ֆայլի օրինակ մեջ է։ Դիտարկեք նաև 5-րդ տողում մեր երթուղու անունի օգտագործումը (կիրառվում է առաջին տողից վերցված անվանման տարածքը)։ Վերնագիրը և պատմությունը կցուցադրվեն «Զարգացում» բաժնում։ Ուշադրություն դարձրեք, որ parent տողը նկարագրում է մենյուի ծնողական հղումը։ Այսինքն, մենյուի հղումը կստեղծվի admin, config, development ենթաբաժինների ներքո։

Այսպիսով, այս ֆայլը կավելացնի հղում hello_world.content երթուղով (այս օրինակով hello_world.routing.yml-ում) ձեր կայքի ադմինիստրացիոն էջերում՝ «Կոնֆիգուրացիա» ներդիրում (URL /admin/config)՝ «Զարգացում» բաժնում։ Իհարկե, փոփոխությունների ուժի մեջ մտնելու համար անհրաժեշտ է մաքրել կեշը։

Կեշի մաքրմանց հետո դուք կտեսնեք մենյուի հղում՝ «Hello մոդուլի կարգավորումներ» «Զարգացում» բաժնում՝ կոնֆիգուրացիայի էջում։ Հղման վրա սեղմելիս կբացվի hello_world մոդուլը։

Լրացուցիչ խորհուրդներ

.links.menu.yml ֆայլը բավականին ճկուն է։ Այն նաև կարող եք օգտագործել արտաքին ռեսուրսների հղումներ կամ ներքին հղումներ ստեղծելու համար՝

hello_world.admin:
  title: 'Hello մոդուլի կարգավորումները'
  description: 'Օրինակ՝ ինչպես ստեղծել ադմինիստրատիվ կարգավորումների էջի հղում'
  parent: system.admin_config_development
  url: http://example.com/this-is-some-example
  weight: 100
hello_world.admin2:
  title: 'Hello մոդուլի կարգավորումները'
  description: 'Օրինակ՝ ինչպես ստեղծել ադմինիստրատիվ կարգավորումների էջի հղում'
  parent: system.admin_config_development
  url: internal:/some-internal-path

Չի կարող խմբագրվել՝

Ուշադրություն դարձրեք, որ երբ դուք yml ֆայլերի և կաստոմ մոդուլների միջոցով ստեղծում եք մենյուի հղումներ, դրանք դառնում են ոչ խմբագրվող UI հղումներ։ Դուք կարող եք փոխել դրանք միայն yml ֆայլում։ Դրանք համարվում են մոդուլի կողմից կառավարվող, ոչ ադմինիստրատիվ։ Երբ սեղմում եք մենյուի կետի խմբագրման կոճակը, ստանում եք հաղորդագրություն՝ «Այս հղումն ապահովվում է XXX մոդուլով։ Վերնագիրը և ուղին չեն կարող խմբագրվել»։

not-editable-menu-link

Խմբագրվող մենյու հղումներ ստեղծելու համար անհրաժեշտ է անել հետևյալը.

  $my_menu = \Drupal::entityTypeManager()->getStorage('menu_link_content')
    ->loadByProperties(['menu_name' => 'my-menu-name']);
  foreach ($my_menu as $menu_item) {
    $parent_id = $menu_item->getParentId();
    if (!empty($parent_id)) {
      $top_level = $parent_id;
      break;
    }
  }
  $menu_link = MenuLinkContent::create([
    'title' => 'Իմ մենյուի հղման վերնագիր',
    'link' => ['uri' => 'internal:/my/path'],
    'menu_name' => 'my-menu-name',
    'parent' => $top_level,
    'expanded' => TRUE,
    'weight' => 0,
  ]);
  $menu_link->save();

 

Source URL:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.