Crearea și utilizarea funcțiilor, bloggeri drupali

Dacă nu înțelegeți despre ce este vorba, puteți citi prima parte introductivă a ciclului Caracteristici - Funcționalități în Open Atrium.
Luați în considerare utilizarea "caracteristicilor" în exemplu. Avem o sarcină de a adăuga site-ului posibilitatea de a plasa un rezumat în funcționalitate minimă. Pentru aceasta avem nevoie de:

  • un nou tip de material cu câmpurile necesare;
  • Afișează afișează afișări
  • abilitatea de a sorta rezultatele (facem un filtru expus);
  • elementul de meniu pentru a vedea CV-urile deja create;
  • bloc cu cele mai recente posturi vacante.

Soluție cu caracteristici
Sarcina este că acum este necesar să o rezolvăm. Nu vom descrie cele mai adevărate adevăruri aici, vom atinge numai utilizarea "caracteristicilor", restul va implica faptul că este deja gata sau îl vom crea pentru site-ul obișnuit al Drupal.

  • Opțiunea 1: Am pus Drupal curat, adăugăm modulele necesare și configurăm funcționalitatea necesară.
  • Opțiunea 2: deja avem această funcție, pe care am creat-o acum un an pentru un alt site. Pe acest site, totul este deja instalat și configurat.

Pentru ambele opțiuni, ar trebui să avem ceva de genul:

  • Tip de material pentru a adăuga un CV
  • Câmpurile obligatorii create cu CCK (acestea pot diferi pentru diferite site-uri, deci în a doua variantă este posibil să aveți un set diferit de câmpuri diferite)
  • Element de meniu
  • Prezentări necesare: o pagină cu rezumat, un bloc cu cel mai recent rezumat. Aici puteți vedea o mică greșeală - formularul se numește vacanțe și afișează un rezumat. Aceasta nu este doar o tipografie, ci date reale. Site-ul pe care este afișat CV-ul poate, de asemenea, posta posturile vacante, diferența dintre funcțiile vacante din CV în numele câmpurilor CCK, numele meniului și câteva lucruri mici. Prin urmare, putem crea o reluare a unei funcții de module. Apoi schimbați numele și salvați ca un nou modul de posturi vacante, aceasta este o economie de timp. În timp ce ne vom concentra doar asupra funcționalității noastre de reluare, vom corecta această eroare mai târziu.

Acum, trecem la crearea unui nou modul de caracteristici (/ admin / build / features / create). Numele modulului trebuie să fie vorbitor de limbă engleză cu litere mici (numele funcțiilor vor fi identice cu numele modulului.

Aici selectăm tot ce este inclus în funcționalitatea modulului nostru viitor:
În partea stângă există o listă de selecție - Adăugați componente. în care modulele sunt compatibile cu funcțiile. Folosind casetele de selectare, selectăm tot ce avem nevoie și în același timp apare un tabel cu componentele selectate la dreapta.
Imaginea de ecran afișează lista dependențelor modulelor pe care nu sunt selectate componente în același timp, există deja o listă a cărei nouă modul va fi în partea dreaptă. Toate aceste componente sunt adăugate automat. astfel încât la acest pas trebuie să avem grijă numai de conectarea propriilor module, dacă există.
Faceți clic pe butonul Descărcați caracteristici și salvați arhiva împreună cu modulul.
Suntem gata să primim modulul necesar pentru crearea unui CV pe orice site. Tot ceea ce este acum necesar pentru a implementa noua funcționalitate este să despachetați arhiva și să o includeți în panoul de administrare.
Să vedem din interior la noul modul
După despachetarea arhivei, vedem 6 fișiere (fișierele încep cu numele pe care l-am întrebat atunci când am creat "caracteristica", deci avem nevoie de un nume în limba engleză)

  • rezume.info
  • rezume.module
  • rezume.features.inc
  • rezume.defaults.inc
  • rezume.features.node.inc
  • rezume.features.views.inc

Rezumatele fișierelor rezume.info și rezume.module sunt familiare, sunt fișiere standard ca orice alt modul.
rezume.info - descrierea modulului
core = "6.x"
dependențele # 91; # 93; = "data"
dependențele # 91; # 93; = "caracteristici"
dependențele # 91; # 93; = "număr"
dependențele # 91; # 93; = "taxonomie"
dependențele # 91; # 93; = "text"
dependențele # 91; # 93; = "vizualizări"
description = "Add rezume"
caracteristici # 91; # 93; # 91; # 93; = "rezume-field_amont"
caracteristici # 91; # 93; # 91; # 93; = "rezume-field_birth"
caracteristici # 91; # 93; # 91; # 93; = "rezume-field_contact"
caracteristici # 91; # 93; # 91; # 93; = "rezume-field_name"
caracteristici # 91; # 93; # 91; # 93; = "rezume-field_stydy"
caracteristici # 91; nod # 93; # 91; # 93; = "rezumă"
caracteristici # 91; utilizator # 93; # 91; # 93; = "crea conținut rezumat"
caracteristici # 91; utilizator # 93; # 91; # 93; = "șterge orice conținut rezumat"
caracteristici # 91; utilizator # 93; # 91; # 93; = "șterge conținutul propriu rezumat"
caracteristici # 91; utilizator # 93; # 91; # 93; = "edita orice conținut rezumat"
caracteristici # 91; utilizator # 93; # 91; # 93; = "editați conținutul rezumat propriu"
caracteristici # 91; vizionări # 93; # 91; # 93; = "vacansii"
nume = "rezume"
pachet = "Caracteristici"
project = "rezume"
rezume.module - modulul propriu-zis. Deoarece avem funcționalități de bază, nu există funcții, ci doar conexiunea fișierului în care descrierea "caracteristicii" este blocuri, vizualizări, meniuri și așa mai departe. Dacă aveți nevoie de funcționalitate suplimentară, o puteți adăuga în acest fișier.
include_once # 40; 'rezume.features.inc' # 41 ;;
rezume.features.inc - asamblare a funcționalului, constă din mai multe HUK-uri
hook_content_default_fields # 40; # 41;. hook_node_info # 40; # 41;. hook_user_default_permissions # 40; # 41;. hook_views_default_views # 40; # 41; .
Fiecare dintre HUK-urile conectează fișierul necesar și apelează o funcție pentru a adăuga vizualizare, blocuri, permisiuni și așa mai departe.
Fișierele rezume.defaults.inc. rezume.features.node.inc. rezume.features.views.inc este inițializarea setărilor implicite și crearea funcțiilor.
În principiu, nu este nevoie să atingem aceste fișiere, deoarece totul este deja configurat și are o vedere completă, dar uneori este necesar să se corecteze sau să se adauge funcționalități.
În acest stadiu, trebuie să ne corectăm greșeala în numele reprezentării Viziuni.
deschideți fișierul rezume.info și schimbați linia
caracteristici # 91; vizionări # 93; # 91; # 93; = "vacansii"
pe
caracteristici # 91; vizionări # 93; # 91; # 93; = "rezumă"
în fișierul rezume.features.views.inc modificați
// Vizualizare exportată: vacansii
$ view = vizualizare nouă;
$ view-> name = 'vacansii';
// Vizualizare exportată: rezumați
$ view = vizualizare nouă;
$ view-> name = 'rezumat';
Acum totul este corect.
Revenire la punctul de control
Modulul Features, împreună cu sistemul de control al versiunilor (de exemplu, SVN), vă permite să implementați "puncte de control" și apoi să reveniți la starea anterioară. Să continuăm să lucrăm cu modulul nostru și să ne imaginăm că site-ul a funcționat o vreme și administratorii site-ului au "ajustat" treptat tot ceea ce au văzut în panoul de administrare, iar modulul nostru a căzut și sub aceste modificări.
Includeți modulul de pe site și modificați-o în Afișări vizualizează afișarea paginii de ieșire a CV-ului de la stilul de tabel la nod (starea anterioară este văzută în imaginea de mai sus)

Pentru un timp funcționează și în această formă, dar mai târziu oprește administratorii și doresc să se întoarcă la vizualizarea tabelului și o listă mai compactă. În cazul în care să conducă și ceea ce nimeni nu își amintește, de regulă, câțiva oameni în timpul anului și fiecare câte puțin.
În cazul unui modul de caracteristici, chiar și o astfel de situație controversată nu este chiar atât de teribilă. Mergem la pagina Funcții și vedem modulul nostru, de asemenea, este marcat de statutul de Overridden. ceea ce înseamnă că a fost schimbat.

Faceți clic pe linkul Suprascris și pe această pagină vedem că au fost efectuate modificări la vizualizările Vizualizări.

Pentru a reveni la starea anterioară, trebuie să setați caseta de selectare de lângă Vizualizări și să faceți clic pe butonul Revenire componente. confirmă în continuare dorința de a reveni la setările implicite. Ca rezultat, revenim la punctul de vedere pe care l-am salvat în fișier.
Puteți să mergeți mai departe și să instalați SVN și după modificarea funcției modulului, recreați-o (butonul Recreate Features) și înlocuiți fișierele cu altele noi, cu comiterea acestor modificări la SVN. Și acum ne putem întoarce în orice moment al schimbărilor noastre, atât înapoi în timp, cât și înaintea acelor schimbări de la care am refuzat.
Rezultatul
Cred că după ce am citit această notă, toată lumea va face pentru sine ieșirea în ce scop puteți utiliza funcția modulului.
De fapt, tot ceea ce este descris mai sus este doar un mic exemplu pentru salvarea funcționalității în fișierele modulului. Prin urmare, în plus față de stabilirea stadiului actual al funcționalității, puteți, de asemenea, să realizați o arhivă a dezvoltărilor care ar putea fi utilizate în proiecte viitoare.
De exemplu, puteți crea atât de blog-uri, galerii foto, știri, articole și multe altele și de a salva aceste funcții într-un singur caracteristici-in-uri. Acum ai că ar crea o galerie foto pe noul site pentru a despacheta modul, galerii foto și o activați în panoul de administrare a modificărilor trebuie să se facă la un adăugare minim sau a elimina câmpuri reajustarea Views - rula Galeria foto funcțională este la 5 minute de forța.

Articole similare