Crearea componentelor modx

În primul studiu am definit subiectul pentru primul curs - crearea componentei MODX. Apoi am decis să nu scriem nimic, ci componenta necesară și utilă a trimiterilor de mail pe utilizatorii site-ului, pe care le vom da apoi tuturor utilizatorilor MODX.







Ei bine, astăzi am terminat toate pregătirile necesare și am anunțat lansarea unui nou program!

Planul aproximativ pentru primul an:
  1. Configurația la locul de muncă și IDE PhpStorm
  2. Analiza structurii componentei, de ce avem nevoie de active, de bază și de restul?
  3. Elementele de bază Git și achiziționarea primului element se angajează pe Github
  4. Ne gândim la logica muncii, definim schema și modelul tabelului în baza de date
  5. Primele schițe ale logicii, colectăm și instalăm versiunea alfa a pachetului
  6. Interfața administratorului pe ExtJS. Creați grupuri de discuții și abonați-le la ele.
  7. Interfața administratorului pe ExtJS. Creați o listă de discuții și conectați-o la grup.
  8. Verificăm funcționarea interfeței noastre, încercați să trimiteți ceva.
  9. Partea din față. Fragmentul scoate abonamentele disponibile pentru utilizator.
  10. Partea din față. Lucrați cu abonamentul și dezabonarea de la corespondență.
  11. Testarea, asamblarea pachetului, finalizarea lucrărilor.
Spun imediat - lista este inexactă, totul se poate schimba de 10 ori, pentru că scriem o componentă nouă. dar nu dezasamblați unul existent. Este posibil să schimbați ceva în munca dvs., să vă oferiți ideile sau soluțiile.

Până când nu suntem limitați, am terminat toate afacerile actuale și sunt gata să dau cursuri pentru o lună. Accesul poate fi plătit în noua secțiune a site-ului.

Această notă este introductivă, anunță începutul lucrării și am nevoie de ajutorul dvs. deja. Vă rugăm să sugerați un nume pentru componenta noastră. deoarece o abonare simplă și concisă este deja luată.

Fără un nume bun nu poate începe!

Pentru dezvoltarea combrotnoy avem nevoie de un mediu bun. Personal, folosesc serverul web local Nginx + Php5-fpm + Mysql pe Mac OS X, dar asta nu este configurația obișnuită.

Este mult mai ușor și mai accesibil să utilizați orice hosting cu acces la site prin SFTP. Nu contează care dintre ele: partajat, vps sau nor.

Toate adăugările decente pentru MODX sunt distribuite prin pachete de transport - acestea sunt fișiere zip cu o anumită structură.

În timpul instalării, pot efectua diverse acțiuni: crearea tabelelor, modificarea setărilor de sistem, copierea fișierelor etc.

A scrie un pachet de transport de la zero este foarte lung, deranjant și plin de greșeli. Este mult mai bine să folosiți piesa de lucru modExtra dovedită - este cu asta că aproape toate add-on-urile mele sunt scrise.

Prin urmare, astăzi trebuie să descărcăm modExtra din depozit și să dezasamblam structura viitoarei componente: de ce există atât de multe fișiere și directoare?

Desigur, vom lucra și cu constructorul de pachete - cum funcționează și este configurat.

Încheiem cu pregătirea pentru începerea dezvoltării active.

Astăzi trebuie să descărcăm piesa de prelucrat de pe server, să o redenumim, să creăm un depozit pe GitHub și să trimitem primul comitet la acesta. Și pentru aceasta va trebui să configurați PhpStorm pentru a lucra cu git.







Sincronizați cu serverul

După ce am conectat proiectul nostru local la un server de la distanță, PhpStorm a adăugat elemente noi în meniul contextual:
Crearea componentelor modx

  • Încărcați fișiere pe server
  • Descărcați fișiere de pe server
  • Sincronizați fișierele șterse și locale
Este important să înțelegeți că primul și al doilea element pot suprascrie fișierele existente. așa că trebuie să le folosiți foarte atent.
Practic, este mai bine să utilizați sincronizarea - va afișa diferențele dintre fișiere și vă va permite să selectați acțiunile cu acestea. Adevărul este că există un dezavantaj - când sincronizați, trebuie să citiți toate fișierele șterse, iar acest lucru necesită timp. Este bine că PhpStorm vă permite să sincronizați nu numai întregul proiect, ci și fiecare director separat și chiar un fișier.

Lucrările pregătitoare sunt finalizate, iar astăzi continuăm direct dezvoltarea componentei.

Vom scrie o componentă a listei de corespondență, deci trebuie să vă gândiți la logica de bază a lucrării. Vă atrag atenția asupra faptului că obiectivul nostru este să învățați cum să scrieți componente pentru MODX și să nu scrieți un buletin informativ mai bun în lume. Prin urmare, vă rog să diminuați imediat ambițiile și să nu vă oferiți să adăugați o mega-funcționalitate.

Cu funcționalitatea definită, acum trebuie să scrieți o schemă de baze de date pentru stocarea datelor noastre.

În ultima lecție, am hotărât o schemă funcțională exemplară, am scris o schemă de tabelă și am generat un model xPDO pentru a lucra cu baza de date MySql.

Și astăzi trebuie să construim și să instalăm prima versiune a pachetului și să înțelegem cum funcționează paginile personalizate ale managerului (CMP).

Având în vedere că folosim piesa de lucru modExtra și că am dezasamblat deja modul în care funcționează, asamblarea pachetului este de a rula scriptul build.transport.php de pe server.

Dacă constanta PKG_AUTO_INSTALL este setată cu configurația config.config.php, componenta va fi instalată imediat pe site.

În ultima lecție, am dat seama de controlorii paginii managerului personalizat (CMP) al componentei noastre și am aflat că scopul principal al existenței lor este de a pregăti toate fișierele necesare pentru afișarea paginii.

În timp ce folosim fișiere JS din modExtra, astăzi trebuie să le studiem și să le rescriem pentru Sendex.

Mai mult decât atât, toate aceste elemente sunt deja supuse unei anumite logici: un buton comută paginile, celelalte solicită o fereastră modală etc.

În principiu, tot ce am nevoie pentru a scrie un plus decent pentru MODX, i-am spus deja.

Știm structura componentei, știm cum să o asamblăm într-un pachet, controlăm controlorii și schimbăm interfața. Chiar și am învățat puțin despre lucrul cu GitHub. Cazul pentru mici - de fapt, scrie un funcțional.

Această lecție este foarte voluminoasă, există numeroase coduri aici, cu explicații. Dacă ceva nu este clar - nu trebuie să vă faceți griji și să fiți frustrați, amintiți-vă că puteți vedea întotdeauna codul sursă al add-on-urilor pregătite și chiar MODX - există exemple pentru toate cazurile de viață.

Așadar, astăzi trebuie să îmbunătățim în tabelul de admin și o fereastră pop-up pentru a crea un abonament. Asta avem în cele din urmă

Crearea componentelor modx

În ultima lecție, am făcut o tabelă de abonamente și o fereastră de creație.

Acum trebuie să adăugăm o fereastră de modificare a abonamentului și dificultatea de a gestiona abonații este că avem nevoie de o fereastră cu file.
Primul este același câmp ca cel creat, iar cel de-al doilea adaugă și elimină utilizatorii.

Pentru a lucra cu utilizatorii, trebuie să scrieți propriile procesoare: selectați, căutați și adăugați / ștergeți la abonament.
  • Crearea componentelor modx
  • Crearea componentelor modx

În această lecție, vom rezolva lucrul cu ExtJS. Nu va fi nimic nou aici, desenăm tabelul următor și setăm procesoarele pentru asta.







Articole similare

Trimiteți-le prietenilor: