A drupal 8 modulunkat írjuk

A Drupal 8 kiadása megtörtént, és most van értelme ezt a rendszert részletesebben megvizsgálni. Maga a motor minden újdonsága, természetesen itt nem gondolunk rá, de azonnal megkezdjük a gyakorlást. A fejlesztők számára az egyik legfontosabb pont az egyedi modulok írása, mivel a többé kevésbé bonyolult projektek nem képesek a modulok írása nélkül.

Kezdjük. Kezdjük a fájl szerkezetével. Most minden egyedi modulnak az útvonalon kell lennie:

A modulom a következő lesz: - my_module. Hozz létre egy ún. My_module nevű mappát a fenti útvonalon. A fájlok neve is megváltozott.

Hozzon létre egy fájlt a modul gyökérkönyvtárában - my_module.info.yml. Ahogy talán kitaláltad, ez a fájl a my_module.info 7 fiókból való lecserélését eredményezte, de csak a modul leírásait tartalmazza. Az én esetemben - ez a fájl így néz ki:

Semmi sem mondható el különösebben, az irattárból egyértelműen mi a felelős azért mi. A fájl létrehozása után láthatjuk a modulunkat a modulok oldalon:

A drupal 8 modulunkat írjuk

Amit természetesen aktiválunk.

Szeretném tudni, hogy most már nem lehet letiltani a modult. Csak két állam telepíthető és távolítható el.

Természetesen a modul aktiválása után nem látunk semmit, csak egy modul előtt álló pipa, amely jelzi, hogy telepítve van. Most megy az oldal létrehozásához. A Drupal 8-ban nem definiálhatjuk a hook_menu-t és létrehozhatunk új oldalt a webhelyen. Az útvonalat (útvonal) helyettesítették yml formátumban.

Hozzon létre egy my_module.routing.yml fájlt a modul gyökérkönyvtárában. Ez a fájl leírja az alapsablon útvonalát. Mivel az útvonal paraméterei olyan értékek, mint:

  • Oldal címe
  • Az oldal URL-je
  • a vezérlő
  • Hozzáférési jogok
  • Stb

Esetünkben ezek a paraméterek elegendőek lesznek az oldal leírásához.

Minden útvonalnévnek egyedinak kell lennie (my_module.routing). Paraméterek listája:

  • útvonal - a jövőbeli oldal URL-je
  • alapértelmezett értékek - alapértelmezett értékeket tartalmaz. Minden érték az "_" előtaggal kezdődik
  • _title - Oldal címe
  • _controller - a vezérlő elérési útja, ahol a vezérlő osztályát és módját megadják (MyModuleController :: teszt)
  • követelmények - függőségértékeket tartalmaz. Minden érték az "_"
  • _permission - meghatározza az oldalhoz való hozzáférést, a mi esetünkben "minden olyan felhasználó számára, aki jogosult a tartalom megtekintésére"

Szeretném tudni, hogy a Drupal 8 korábbi verziói "_content" -et használtak a "_controller" helyett. Győződjön meg arról, hogy a Drupal 8 stabil verzióját használja.

A meghatározott útvonalakon. Vigyázzunk magunkra a vezérlőre, amelyet a "_defaults" paraméterben "_controller" -ként definiáltunk.

Minden modul vezérlőnek az útvonalon kell lennie

Hozzon létre a szükséges mappákat a modulon belül.

Ezután hozzon létre egy vezérlő fájlt. A fájlnév a "_controller" értékéből származik a my_module.routing.yml fájlban. A mi esetünkben a fájl neve: MyModuleController.

Hozzon létre egy MyModuleController.php fájlt a Vezérlő mappa gyökérkönyvtárában. Most, ahogy láthatja, az OOP-val foglalkozunk. Ebben a fájlban meg kell adnunk a MyModuleController osztályt és annak vizsgálati módját. Az osztály és a módszer nevei, szintén a my_module.routing.yml fájlból származunk. A mi esetünkben ez a fájl így néz ki:

Szeretném tudni, hogy a teszt módszernek mindig tömbje kell legyen.

Ismét használt névtér. ne felejtsd el, ha nem akarsz problémát okozni a jövőben. Ha valaki nem tudja, akkor megszabadulunk a két azonos nevű osztálytól.

A vezérlővel együtt döntöttünk is. Most megtisztítjuk a webhely gyorsítótárát, megyünk az úton

A drupal 8 modulunkat írjuk

Most meg kell adnunk egy menüpontot a webhely főmenüjébe. Ehhez a modul gyökerében hozza létre a my_module.links.menu.yml fájlt. amelyben leírjuk a menüpontot. A mi esetünkben ez a fájl így fog kinézni:

  • title - a menüelem neve
  • leírás - A menüpont leírása
  • menu_name - a menü neve, amelyhez menüelemet szeretnénk hozzáadni
  • útvonal_neve - annak az útvonalnak a neve, amelyre ez a menüpont kötve lesz
  • a tömeg a menüelem súlya

A drupal 8 modulunkat írjuk

Amint látjuk, a feladatot szem előtt tartottuk. A modulok modulja bonyolultabbá vált, de mégis rugalmasabbá vált, és végül felhasználhatjuk az OOP kedvenc megközelítését.

Kapcsolódó cikkek