Noi scriem modulul nostru pentru drupal 8

Noi scriem modulul nostru pentru drupal 8

Este timpul să înveți cum să scrieți module pentru Drupal 8, mai ales că scrierea lor este complet diferită de modulul de scriere pentru cele 7 ramuri ale Drupal.

Înainte de a ajunge la lucru, să aruncăm o privire la diferența dintre dezvoltarea modulelor pentru Drupal 7:

Creați un director pentru modul

În Drupal 7, toate modulele de kernel sunt în pachet / module. modulele și modulele de contribuție ar trebui să fie în directorul / site-uri / toate / module sau / site-uri / sitename / modules. În Drupal 8, structura site-ului sa schimbat și totul despre kernel se află acum în directorul / core. La rădăcină a apărut folderul / modulele. dar lăsăm doar pentru modulele contrib, și vom adăuga modulele personalizate la / sites / all / modules din memoria veche.

Creați un fișier informativ yaml

Trebuie să creați un fișier informativ yaml pentru a spune Drupal că modulul dvs. există. Acest lucru este similar cu crearea unui fișier .info în Drupal 7.

Numele fișierului trebuie să fie numele mașinii modulului dvs. cu extensia .info.yml. În cazul nostru, acesta va fi first_module.info.yml.

Creați un fișier .module

În Drupal 7, fișierul .module este necesar chiar dacă este gol. În a opta versiune nu este necesar. Voi crea acest fișier, în cazul în care trebuie să implementăm cârlige în viitor.

  • Creați în folderul first_module un fișier numit first_module.module;

Creați un director src

Apoi, trebuie să creați un subdirector în dosarul modulului nostru, în care să stocăm controale, pluginuri, formulare, șabloane și teste. Acest subdirector ar trebui să fie numit src. Aceasta va permite ca clasa controlerului să fie adăugată automat la pornire, astfel încât nu este necesar să conectați manual nimic.

  • Creați un folder numit src în dosarul modulului.

Creați un controler de bază

Controlorii efectuează cea mai mare parte a activității în aplicația MVC.

  • Creați subdirectorul Controller din directorul src;
  • În directorul Controlor. creați un fișier numit FirstController.php;

În FirstController.php. vom crea un simplu mesaj "hello world" pentru a verifica dacă operatorul funcționează.

  • Curățați cache-ul site-ului. După aceea, în secțiunea "Configurare" -> "Dezvoltare", puteți vedea elementul de meniu creat.
  • Faceți clic pe acesta și veți fi dusi la pagina pe care tocmai l-am creat / prima dată.
  • Creați un bloc personalizat

    În momentul de față avem un element de meniu și un traseu care afișează titlul și șirul "Hello world". Să facem ceva mai serios, și anume, vom crea unitatea proprie în modul.

    Mai intai trebuie sa cream un plugin nou. Plugin-urile sunt o inovație a Drupal 8 și oferă părți de funcționalitate înlocuibile.

    • Creați un dosar Plugin în directorul src al modulului dvs. Aici vor fi stocate toate plug-in-urile pentru modul;
    • În dosarul Plugin, creați un dosar numit Bloc. Blocul este tipul de plugin;
    • Și în interiorul dosarului Block. creați un fișier numit HelloBlock.php;

    În acest fișier, trebuie să definim un spațiu de nume și o clasă care va moșteni clasa BlockCase.

    Următorul pas este moștenirea documentației din clasa de bază și adăugarea metodei build (). care va returna conținutul blocului.

    Fișierul HelloBlock.php complet.

    Ieșiți blocul

    Pentru a aduce un bloc în regiune, accesați pagina de administrare a blocurilor. Dimpotrivă, în regiunea în care doriți să afișați blocul, faceți clic pe butonul "Aranjați blocul".

    În fereastra modală, puteți vedea toate blocurile disponibile în mod curent. Găsiți blocul nostru Hello și faceți clic pe butonul "Plasați un bloc" în fața acestuia.

    Apoi, apare formularul setărilor blocului. Doar faceți clic pe salvați.

    Noi scriem modulul nostru pentru drupal 8

    Du-te înapoi la site-ul și bucurați-vă de rezultat.

    Noi scriem modulul nostru pentru drupal 8

    Structura fișierului

    Ca rezultat, ar trebui să obțineți următoarea structură de fișier:

    Noi scriem modulul nostru pentru drupal 8

    concluzie

    În acest articol, am creat un modul simplu care are un controler care returnează un șir simplu atunci când accesează URL-ul. Am creat și un simplu bloc. Nu vă faceți griji dacă în acest stadiu nu înțelegeți totul, pur și simplu continuați să practicați.

    De asemenea, aș dori să menționez că acest articol este scris despre cum se face acest lucru manual. Majoritatea lucrărilor pot fi automatizate, cu ajutorul unor instrumente speciale, cum ar fi Drush și Drupal Console. În Introducere în Drush și Consola Drupal, învățați cum să utilizați aceste instrumente.

    Articole similare