Puncte:-1

Cum se creează un exemplu de modul personalizat?

drapel cn

Vreau să creez un modul personalizat in minim, adică un modul care poate fi instalat, dar în general nu face nimic doar de dragul de a înțelege cum sunt create modulele personalizate după o perioadă grea cu documentația.

exemplu.info.yml

nume: exemplu
tip: modul
cerinta_versiune_core: ^8 || ^9
descriere: „exemplu”

exemplu.php

<?php
?>

Presupunând că aceasta este calea de urmat și că nu lipsește nimic esențial, cum se realizează conexiunea dintre cele două fișiere (nu ar trebui să notific example.info.yml despre example.php)?

leymannx avatar
drapel ne
Minimul este doar un fișier informativ.
Puncte:-1
drapel cn

Cum sunt conectate fișierele

Drupal va executa automat fișierul PHP cu numele modulului iar extensia .modul; acesta este un caz special.

Deci, trebuie să redenumiți exemplu.php la exemplu.modul.

Dacă doriți să adăugați fișiere PHP suplimentare care nu sunt clase, va trebui să le includeți.

De exemplu, dacă adaug un fișier exemplu.mail.php, și vreau să includ asta, trebuie să o includ în exemplu.modul ca aceasta:

include_once „example.mail.inc”;

Dar nu trebuie să includ exemplu.modul deoarece este un caz special. exemplu.modul va fi întotdeauna executat dacă există.

Exemplul de verificare.modul este inclus

Puteți folosi Modul de dezvoltare cu kint pentru a depana Drupal și aceasta este o modalitate relativ ușoară de a verifica dacă un fișier este inclus.

Dacă activați modulul Devel, adăugați următorul cod la exemplu.php, și apoi reconstruiți memoria cache, Drupal va folosi kint pentru a tipări ID-ul formularului pe fiecare pagină care include un formular.

funcția example_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  kint($form_id);
}
Kevin avatar
drapel in
Nu ați face cu adevărat include sau cere declarații, acestea ar fi clase/servicii apelabile sau injectabile oriunde în Drupal. Numele fișierului pentru cârlige ar trebui, de asemenea, să se termine în .module.
drapel cn
@Kevin Whoops, un punct bun despre numele fișierului. Eu personal folosesc include pentru a păstra diferite tipuri de cârlige separate; Am adăugat o notă pentru a fi mai clar.
4uk4 avatar
drapel cn
În Drupal 8/9 fișierele PHP sunt în directorul src/ unde sunt descoperite de [autoloader](https://www.drupal.org/docs/develop/standards/psr-4-namespaces-and-autoloading-in -drupal-8). Există câteva fișiere PHP specifice pe care Drupal le include, ocolind încărcătorul automat ca acest fișier .module.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.