Ավելացնել հղում մենյուում
Հիմա, երբ մենք ստեղծել ենք մեր մոդուլի կարգավորումների էջի լրացուցիչը, եկեք ավելացնենք հղում մենյուում։ Ստորև ներկայացված ցուցումների միջոցով ցույց է տրվում, թե ինչպես ստեղծել մենյուի հղում 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 մոդուլով։ Վերնագիրը և ուղին չեն կարող խմբագրվել»։
Խմբագրվող մենյու հղումներ ստեղծելու համար անհրաժեշտ է անել հետևյալը.
$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();
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.