Jak stworzyć pusty moduł? [Zamknięte]

15

Jaki jest najbardziej podstawowy prawidłowy moduł, który można utworzyć w Drupal?

Przydałby się prosty plan dla każdego, kto dopiero zaczyna pracę z Drupalem.

Letharion
źródło

Odpowiedzi:

26

Poniższe instrukcje pozwalają stworzyć pusty moduł i są pomocne dla każdego, kto dopiero zaczyna budowanie modułu. Jeśli masz problemy z uruchomieniem pierwszego modułu, a nawet pojawieniem się w Drupal, przeczytaj wszystkie poniższe instrukcje.

Drupal 8

projectMusi mieć co najmniej

  1. Nazwa maszyny
  2. Plik informacyjny yaml nazwany na cześć nazwy komputera, w postaci module-machine-name.info.ymlz następującymi atrybutami:
    1. name: Czytelna dla człowieka nazwa
    2. type:Typ definiujący się jako module.
    3. core:W 8.xtym przypadku główna wersja Drupala, z którą moduł jest kompatybilny .
  3. Pusty plik modułu, nazwa w formularzu module-machine-name.module

Drupal szuka modułów w tych lokalizacjach, widzianych z katalogu głównego:

  1. /modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Technicznie Drupal szuka również modułów core/modules, ale nie należy nigdy umieszczać tam modułów, dlatego nie ma ich na powyższej liście.

Przykładowa struktura modułu dla modułu o nazwie komputera helloworldwygląda następująco:

/modules/helloworld/helloworld.info.yml

/modules/helloworld/helloworld.module

Zauważ, że zarówno plik informacji, jak i plik modułu mają dokładnie taką samą nazwę jak nazwa komputera, co jest ważne.

Plik modułu może być pusty, ale plik informacyjny musi zawierać kilka minimalnych wartości, aby Drupal mógł rozpoznać go jako moduł. W naszym module helloworld może to wyglądać następująco:

name: 'Hello world module to demonstrate module building'
core: 8.x
type: module

Jeśli postępujesz zgodnie z powyższymi instrukcjami, powinieneś być w stanie uzyskać nowy moduł wymieniony w witrynie Drupal, chociaż na tym etapie nic nie zrobi.

Drupal 7

Moduł musi przynajmniej mieć

  1. Nazwa maszyny
  2. Czytelna dla człowieka nazwa
  3. Plik informacyjny nazwany na cześć nazwy komputera.
  4. Pusty plik modułu.

Aby Drupal mógł go załadować, musi również określić, z którą wersją podstawową jest kompatybilny.

Dalsze Drupal szuka modułów w tych lokalizacjach:

  1. sites/all/modules/
  2. sites/[example.com]/modules
  3. sites/default/modules
  4. profiles/[install-profile]/modules

Technicznie Drupal szuka również modułów modules, ale nie należy nigdy umieszczać tam modułów, dlatego nie ma ich na liście.

Przykładowa struktura modułu dla modułu o nazwie komputera helloworldwygląda następująco:

sites/all/modules/helloworld/helloworld.info

sites/all/modules/helloworld/helloworld.module

Zauważ, że zarówno plik informacji, jak i plik modułu mają dokładnie taką samą nazwę jak nazwa komputera, co jest ważne.

Plik modułu może być pusty, ale plik informacyjny musi zawierać czytelną dla człowieka nazwę modułu oraz wersję podstawową, z którą moduł jest kompatybilny.

W naszym module helloworld może to wyglądać następująco:

name = Hello world module to demonstrate module building
core = 7.x

Jeśli postępujesz zgodnie z powyższymi instrukcjami, powinieneś być w stanie uzyskać nowy moduł wymieniony w witrynie Drupal, chociaż na tym etapie nic nie zrobi.

Letharion
źródło
a także sites/default/... po prostu mówiąc ...
tenken
Masz absolutną rację, naprawiłem to. :) Co przypomina mi, że powinienem sprawdzić zamówienie i upewnić się, że jest poprawne.
Letharion
W przypadku drupal 8 potrzebujesz teraz tylko modułu-machine-name.info.yml. Plik .module nie jest już wymagany, aby mieć włączony moduł. Nie jest to bardzo przydatne, ale jest możliwe :)
podkreślono
1
D8: Pliki .module i .profile nie są już wymagane. drupal.org/node/2217931
sobi3ch
1
Drupal 8: A co z drupal generate:module?
Screenack
8

W przypadku Drupala 8, ponieważ pytanie dotyczyło planu, myślę, że wspomniałbym o projekcie konsoli Drupal .

Po zainstalowaniu można wygenerować kod modułu (i inne rzeczy, takie jak rusztowanie dla encji niestandardowych, wtyczek itp.).

Aby wygenerować moduł podstawowy z wiersza poleceń: drupal generate:module. Jeden zostaje następnie poproszony o zebranie podstawowych informacji i pozostawiony z plikami modułu na końcu:

Generowanie modułu konsoli Drupal

jhedstrom
źródło