Drupal 8: Маршрутизация, връзки, разрешения, раздели или "Hello YML"
# 1 - Просто HelloWorld страница
Нека регистрираме пътя за бъдещата страница във файла testpage.routing.yml
И ще покажем заветния поздрав на страницата. Файл Src/Controller/TestPageController.php
Сега на страницата/helloworld можете да видите желания текст:-)
Нека отидем по-нататък: сега ще определим нашите собствени права върху тази страница в нашия модул:
# 2 - страница HelloWorld с настройка на разрешенията
Използвахме hook_permission по-рано. Познайте къде да декларирате права в Drupal 8? Създайте .yml файл отново в корена на нашия модул, наречен module_name.permissions.yml.
'view testpage' е системното име на новите права за достъп. Той не трябва да съвпада с името на модула, в противен случай оформлението на страницата за управление на правата за достъп ще се счупи.
„ограничи достъпа“ - опцията показва дали тези права са свързани със сигурността на сайта. Ако е TRUE, към описанието на правата ще бъде добавено съответно предупреждение.
Не забравяйте да нулирате кеша на сайта, за да видите промените на страницата admin/people/permissions:
Вече можем да правим промени в маршрута testpage.testpage1:
Можете да прочетете повече за разрешенията на drupal.org
# 3 - страница HelloWorld в раздела за конфигуриране
Страхотен. Сега нека си представим, че "Здравей, свят!" - това е някаква администраторска страница и ние ще се опитаме да я покажем в раздела за конфигуриране „admin/config“ в съществуващ контейнер, например „Разработка“. За да тествам тази задача, ще регистрирам нов път, за да не се бъркам в примери.
Но това не е в администраторския панел. Въпросът е, че списъкът с връзки в този панел се основава на йерархията на елементите от менюто. Нашият маршрут е само пътека. Няма обвързване на менюто. Следователно системата не може да намери тази страница и не я показва в администраторския панел. Ще покажем на Drupal къде растат краката, откъдето трябва да се покаже тази страница. Нека създадем нов файл testpage.links.menu.yml в корена на модула
След нулиране на кеша, системата ще добави нов елемент от менюто към менюто за управление. И при формирането на страницата за конфигурация/admin/config, нашият елемент ще бъде намерен и добавен към панела:
# 4 - страница HelloWorld в раздела за конфигуриране в нов раздел
И сега добавете тези елементи в менюто "Контрол"
Добавете към файла testpage.links.menu.yml
Не забравяйте да нулирате кеша, за да видите промените. Целта е постигната. Сега в раздела за конфигуриране има нов панел "Персонализирани настройки", който показва нашата страница "Heloworld".
# 5 - Раздели
Не е лошо начало. Сега нека се опитаме да разберем как да правим раздели (Tabs). Така че сега ще добавим нов раздел "Tab2" към страница # 4. Първо, нека регистрираме нов път за раздела:
Добавете нов маршрут във файла testpage.routing.yml:
Файлът module_name.links.task.yml в корена на модула отговаря за регистрирането на раздели. Нека го създадем.
Е, това са всички чудеса. Нулирайте кеша и отидете на страницата „admin/config/custom/helloworld“
# 6 - Раздели от второ ниво!
Този процес вече не може да бъде спрян. Искам нов раздел с повече раздели!
Регистриране на нови маршрути.
Добавете нови маршрути във файла testpage.routing.yml:
Във файла testpage.link.task.yml ще опишем новите елементи в структурата на раздела:
Сега вероятно ще завърша този пост. Предстоят още много интересни неща!
- Как наистина да отслабнете историята на Тома Поданева, която се отърва от 21 килограма, ЗДРАВЕЙТЕ! Русия
- Как да създавам раздели в drupal
- Как наистина да отслабнете историята на Анна Болотски, която се отърва от 20 килограма, ЗДРАВЕЙТЕ! Русия
- От каква екологична хартия е направена
- Като всички останали, тоест глупак