Modx revo creează sursa fișierului cu încărcare. MODx Revolution: crearea de active și încărcarea fișierelor de pe front-end

În Evolution, totul a fost destul de simplu: creați drepturi de utilizator și gata! Și aici trebuie să faceți o mulțime de pași, dar pe de altă parte - în Modx Revolution, cu drepturi la documente și fișiere, puteți face tot ce doriți (dacă, desigur, nu înțelegeți acest lucru). Ei bine, să începem!

1. Accesați „Securitate” - „Control acces” în meniul de sus al panoului de administrare

2. Accesați fila „Politica de acces”.

3. Faceți clic pe butonul „Creați o politică de acces”.

Vom deschide o fereastră cu câmpuri. În câmpul Nume, scrieți „manager”, șablonul de politică de acces este AdministratorTemplate. Faceți clic pe butonul de salvare

4. După ce am salvat politica de acces „manager”, vedem că aceasta a apărut în lista noastră de politici de acces

5. Manager de editare

6. Debifați parametrii care nu sunt necesari

În partea de jos a acestei pagini care se deschide, există o listă de opțiuni (permisiuni). Trebuie să debifam acei parametri care sunt responsabili de afișarea oricăror resurse în panoul de administrare pentru a evita editarea sau ștergerea documentelor, fișierelor, elementelor necesare pentru ca site-ul să funcționeze corect.

Scoatem semnele de selectare din următorii parametri:

  • access_permissions Afișează o pagină cu setări pentru drepturile de acces utilizator
  • tablouri de bord Vizualizați și gestionați tablourile de bord
  • element_tree Posibilitatea de a vizualiza arborele de elemente în panoul de navigare din stânga
  • menu_reports Afișează elementul „Rapoarte” din meniul de sus
  • menu_security Afișează elementul „Securitate” din meniul de sus
  • menu_system Afișează elementul „System” din meniul de sus
  • menu_tools Afișează elementul „Instrumente” din meniul de sus
  • new_static_resource Creați noi resurse statice.
  • remove_locks Eliminați toate blocajele de pe site

7. Accesați fila „Securitate” - „Control acces” - „Roluri”


8. Apăsați butonul „Creare new”, în câmpul Nume pe care îl conducem în Manager, Rank - 9, apăsați butonul „Salvare”


9. Salvați modificările și accesați „Securitate” - „Control acces” - „Grupuri de utilizatori”


Faceți clic dreapta pe „Administrator” și faceți clic pe „Creați grup de utilizatori”

10. Creați un grup nou: Nume - Manager, Politică de backend - fără politică, faceți clic pe „Salvare”

11. Găsiți-l în lista de grupuri de utilizatori și faceți clic pe „editați”

12. Accesați meniul „Acces la contexte” și faceți clic pe „Adăugați context”

13. Context - admin, Rol minim - Manager - 9, Politica de acces - Manager

14. Adăugarea mai multor context

Mai exact, edităm web-ul existent: Context - web, Rol minim - Manager - 9, Politică de acces - Administrator. Faceți clic pe butonul „Salvare”.

15. Vom vedea o astfel de poză! Salvăm totul în fila „Grup de utilizatori: Manager”.

16. În continuare: „Securitate” - „Gestionarea utilizatorilor”

17. Creați un utilizator nou (acesta va fi clientul nostru) - apăsați butonul „Utilizator nou”.

Îi poți da orice nume vrei, îl voi numi manager

18. Nume de utilizator - manager, faceți clic pe caseta de selectare - Activ, conduceți în e-mail

19. Specificați o parolă

20. Înainte de a salva, accesați fila „Drepturi de acces”.

21. Apăsați butonul „Adăugați utilizator la grup”, Grup de utilizatori - „Manager”, Rol - „Manager”

Salvăm. Aceasta completează crearea panoului de administrare, unde clientul are acces doar la editarea și crearea paginilor din arborele documentelor. Dar acest utilizator încă are acces la toate fișierele din sistem. Și, prin urmare, acum vom face astfel încât să aibă acces la un singur folder, pe care îl vom crea în rădăcina site-ului Modx Revolution.

22. Accesați fila „Instrumente” - „Surse fișiere”.

23. Se va deschide o listă cu toate sursele de fișiere. În mod implicit, este creat doar unul - Sistem de fișiere

Înainte de a crea o nouă sursă de fișier, trebuie mai întâi să o modificați pe aceasta. Faceți clic pe „Filesystem” cu butonul din dreapta al mouse-ului și selectați „Edit”

24. Se va deschide această fereastră. Faceți clic pe „Adăugați grup de utilizatori”

25. Grupuri de utilizatori - Administrator, Rol minim - Super Utilizator - 0, Politică - Admin sursa media. Faceți clic pe „Salvați”

26. Reveniți la Surse fișiere și creați o nouă sursă de fișiere

Să-i spunem „Manager”, File Source Tim - File System

27. Faceți clic dreapta pe noua sursă de fișiere „Manager” și selectați „Editare”

28. Se va deschide o astfel de fereastră! Trebuie să schimbăm primii 4 parametri

În basePath din câmp, introducem / administrator /, basePathRelative și baseUrlRelative sunt lăsate așa cum sunt cu valorile „Da”, în câmpul baseUrl scriem administrator /

29. Intrăm în parametrul tv

30. Faceți clic pe cea mai recentă filă „Surse fișiere”

și schimbați sursa fișierelor din „Filesystem” în „Manager”. Salvăm!

31. Adăugați un grup de utilizatori la „Manager”

Acum, după toți pașii făcuți, mergeți la „Sursa fișierului” - „Manager” și adăugați un grup de utilizatori la această sursă de fișiere

32. Grupuri de utilizatori - Manager, Rol minim - Manager - 9, Politică - Admin sursă media. Faceți clic pe „Salvați”

Odată salvată, sursa fișierului „Manager” va dispărea pentru administrator. Pentru a putea edita această sursă de fișiere, trebuie să accesați meniul „Securitate - Control acces”. Deschideți grupul de manageri pentru editare: Manager și în fila „Surse fișiere” găsiți și ștergeți sursa Manager. Abia atunci putem edita din nou sursa dată de sub administrator.

33. Goliți memoria cache pentru orice eventualitate

și utilizatorul nostru cu drepturi și acces limitat la Sistemul de fișiere creată!

Nu voi spune că este destul de ușor, dar dacă o faci automat, atunci nu o să ți se pară ceva dificil. Sper sa reusesti! Mult succes cu proiectele tale!

Un articol în care vom analiza cum în Revoluția MODX a fost organizat un sistem de drepturi de acces, precum și câteva instrucțiuni tipice pentru setarea permisiunilor pentru utilizatori.

Sistem de drepturi de acces în MODX

MODX Revolution nu vă permite să atribuiți direct drepturi unui utilizator. În acest sistem această acțiune efectuat prin grup de utilizatori.

Cu alte cuvinte, pentru a acorda unui utilizator unele drepturi, este necesar:

  • creați un grup și atribuiți-i privilegiile necesare;
  • pune unul sau mai mulți utilizatori în acest grup.

Dar prezența unui utilizator într-un grup nu înseamnă că va primi toate privilegiile acestuia. Drepturile pe care utilizatorul le va primi vor fi determinate folosind rolul care i-a fost atribuit în acest grup. Rolul (rangul) unui utilizator dintr-un grup este determinat folosind un număr de la 0 la 9999. Această valoare determină care utilizator va primi privilegii de grup și care nu.

Cu alte cuvinte rol- acesta este un fel de mecanism care permite utilizatorilor diferiți să atribuie drepturi diferite în cadrul aceluiași grup.

Să ne uităm la un mic exemplu.


În acest exemplu:

  • Utilizator Utilizator1 aparține grupului Grupa 1... El are acele privilegii de grup, al căror rol este mai mare. 2000 .
  • Utilizator Utilizator2 este format din 2 grupe. Are 2 privilegii de grup. Din primul grup ( Grupa 1) are acele privilegii al căror rol este mai mare sau egal cu 1000 ... Și din a doua ( Grupa 2) - acele privilegii al căror rol este mai mare sau egal cu 9999 .
  • Utilizator Utilizator3 este în grup Grupa 2... Acest grup îi conferă acele drepturi, al căror rol este mai mare sau egal 5000 .

Politica de acces MODX

Stabilirea privilegiilor de grup în MODX Revolution se face folosind politici de acces... Acesta (politica de acces) este atribuit unui grup în legătură cu anumite entități MODX, și anume context, grup de resurse, categorie de articol, sursă fișier și spațiu de nume. În plus, este și indicat rol minim de care utilizatorul acestui grup trebuie să aibă aceste privilegii.

Luați în considerare o imagine.

Privilegii pe care le obțin utilizatorii unui grup, în funcție de rolul pe care fiecare dintre ei îl joacă în acesta

În acest exemplu:

  • Utilizator Utilizator1(rol în grupa Grupa 1 - 2000 ) are toate privilegiile grupului Grupa 1 al căror rol este mai mare sau egal cu 2000. Adică aceasta K1, K2și G2.
  • Utilizator Utilizator2 are cel mai înalt rol în grup (0) și, prin urmare, toate privilegiile sale ( K1, K2, D1și G2).
  • Utilizator Utilizator3 are în grup Grupa 1 cel mai jos rol ( 9999 ). În conformitate cu acesta, el poate efectua acțiuni în sistem, definite în K2și G2.

O politică de acces este un set de drepturi acordate unui utilizator pentru a efectua acțiuni pe un site alimentat de CMS MODX Revolution.

De ce este implementat astfel? Acest lucru se datorează faptului că există o mulțime de drepturi în MODX și este mai convenabil să le atribuiți în grupuri (cu alte cuvinte, folosind o politică de acces), și nu unul câte unul.

De exemplu, politica de acces Încărcare, listă și vizualizare are următorul set de permisiuni:

  • încărcare (încărcare obiecte);
  • listă (obține o colecție de obiecte);
  • vizualizare (vizionarea obiectelor).

Cum să vă creați propria politică de acces

Când setați permisiuni pentru un grup de utilizatori, nu sunteți limitat la politicile existente (preinstalate) în sistemul MODX. Puteți crea altele noi dacă este necesar. Crearea politicilor în MODX se bazează pe șablon de politică de acces... Un șablon de politică de acces este o entitate a MODX Revolution care definește lista maximă de permisiuni disponibile la crearea unei politici de acces.

Astfel, pentru a creați o politică de acces cu permisiunile necesare necesar:

  1. Găsiți un șablon de politică de acces adecvat (dacă este necesar, editați unul existent sau creați unul nou).
  2. Creați o politică de acces alegând un șablon potrivit.
  3. Includeți din întreaga listă de permisiuni oferite de șablon, doar pe cele pe care doriți să le acordați utilizatorilor (dacă aceștia vor avea această politică).
Cum este determinat setul de permisiuni disponibile ale unei politici de acces

Când creați o politică de acces, începeți întotdeauna prin alocarea unui număr minim de drepturi suficiente pentru ca un utilizator să efectueze anumite acțiuni în sistem. Dacă este necesar, puteți extinde oricând permisiunile acordate utilizatorului.

Utilizator anonim

În MODX Revolution, orice vizitator neautorizat al site-ului este anonim și aparține grupului (anonim)... Puteți verifica cu ușurință acest lucru dacă creați următorul fragment, efectuați un apel la acesta în șablonul de resurse și apoi deschideți pagina.

Cod PHP pentru fragmentul GetUser:

user-> get ("nume utilizator");

Apelarea unui fragment de pe o pagină:

[[! GetUser]]

Rezultatul muncii:

(anonim)

Acțiunile utilizatorilor anonimi pe site în MODX sunt reglementate prin setarea permisiunilor de grup (anonim)... Dacă este necesar, puteți acorda acestui grup privilegii suplimentare sau le puteți restricționa.

Instrucțiuni tipice pentru setarea permisiunilor

În această secțiune, ne vom uita la instrucțiunile pe care le puteți folosi atunci când aveți nevoie de:

  • restricționează accesul la anumite resurse pentru utilizatorii anonimi;
  • creați un manager de conținut căruia trebuie să i se acorde acces pentru a lucra cu resurse din panoul de administrare, precum și posibilitatea de a încărca imagini.

Restricționarea accesului la anumite resurse

Luați în considerare un exemplu în care vom restricționa accesul utilizatorilor anonimi la anumite resurse (de exemplu, la un cont personal, la pagina „Schimbați parola” etc.). Vom oferi acces la aceste resurse numai utilizatorilor înregistrați.

Pentru a face acest lucru, trebuie să:

  1. Crea grupul de resurse Utilizatori(butonul Conținut -> Grupuri de resurse -> Creare grup de resurse). În formularul care apare, introduceți în câmpul „Nume” - Utilizatoriși faceți clic pe butonul „Salvare”. Puneți în el resursele necesare (accesul la care trebuie restricționat vizitatorilor anonimi).
  2. Crea grupul de utilizatori(Pictograma „Gear” -> Control acces -> butonul „Grup de utilizatori nou”). În caseta de dialog care se deschide, introduceți în câmpul „Nume” - Utilizatori, „Contexte” - web, „Politici de backend” - (fără politică).
  3. Comutați la modul de editare a grupului (selectați elementul „Editați grup de utilizatori” din meniul contextual Utilizatori).
  4. Deschideți fila „Drepturi de acces” și în ea „Acces la grupuri de resurse”. Faceți clic pe butonul „Adăugați grup de resurse” și completați formularul deschis („Grup de resurse” - grup, „Context” - (web), Rolul minim este Membru (9999), „Politica de acces” - Încărcare, listă și vizualizare).

După aceea, orice utilizator anonim sau alt utilizator (care nu are drepturi) va primi 404 Resursa(din moment ce nici nu are dreptul sarcină) dacă încearcă să deschidă orice pagină din acest grup.

Dacă doriți ca utilizatorii anonimi, când deschid pagini protejate, să trimită către altcineva (de exemplu, autorizare), atunci trebuie să faceți în plus următoarele (și anume, să acordați dreptul sarcină pentru acest grup de resurse):

  1. Deschis setarile sistemului Pictograma ("Roată" -> Setări de sistem). Selectați spațiul de nume „core”, secțiunea „Site”. Găsiți parametrul pagina_neautorizată(Eroare pagina 403 „Acces refuzat”) și specificați-o ca valoare - id-ul resursei conţinând formularul „Autorizare”.
  2. Comutați la modul de editare de grup (anonim)... În secțiunea „Acces la grupuri de resurse” (fila „Drepturi de acces”) adăugați grupul de resurse Utilizatoriși setați-i drepturile necesare (în acest caz, „Context” - (web), Rolul minim este Membru (9999), „Politica de acces” - Doar încărcare).
Configurarea accesului la grupul de resurse Utilizatori pentru utilizatori anonimi

Setarea drepturilor pentru managerul de conținut

În acest exemplu, vom crea un grup „Manageri”, ai cărui utilizatori vor putea încărca imagini în directorul din panoul de administrare și vor putea lucra cu anumite resurse.

Pentru a face acest lucru, puteți, de exemplu, să utilizați următoarea instrucțiune:

1. Creați noi Politica de acces manager cu drepturile necesare:

  • Deschideți pagina „Control acces” (pictograma „Roată” -> Control acces) și accesați fila „Politica de acces”.
  • Faceți o copie a politicii „Editor de conținut”.
  • Editați copia creată, și anume, schimbați câmpul de nume în Manager și bifați casetele de lângă drepturi directory_list, file_list, file_manager, file_remove, file_tree, file_upload. Drept urmare, politica de acces Manager va avea 30 de permisiuni. Acest lucru trebuie făcut pentru a acorda utilizatorilor drepturi de a lucra cu fișiere.
  • Faceți clic pe butonul „Salvare”.
Formular de configurare a politicii de acces manager

2. Ascundeți resursele la care managerii nu ar trebui să aibă acces în panoul de administrare:

  • Deschideți pagina Grupuri de resurse și faceți clic pe butonul Creare grup de resurse.
  • În formularul care se deschide, introduceți în „Nume” - ClosedForManagers, „Contexte” - mgrși marcă opțiunea „Acordați automat acces la grupul Administrator”.
  • Faceți clic pe butonul „Salvare”.
  • Trageți și plasați resurse în grupul creat care trebuie ascunse pentru manageri în panoul de administrare.

3. Oferiți acces la directorul în care utilizatorul va încărca imagini.

  • Deschideți pagina „Surse fișiere”, faceți clic pe „Creare”. sursa noua fișiere".
  • În formularul care se deschide, introduceți textul în câmpul „Nume”. Imagini, în „Descriere” - Imagini, în „Tipul sursă fișier” - Sistemul de fișiere.
  • Faceți clic pe butonul „Salvare”.
  • Editați sursa de fișiere nou creată (butonul dreapta al mouse-ului -> acțiunea „Editare”).
  • Modificați valoarea parametrilor: basePath - active / imagini /, url de bază - active / imagini /, permitFileTypes - jpg, jpeg, png, gif.
  • Faceți clic pe butonul „Salvare”.
Configurarea sursei fișierelor Imagini

O sursă de fișiere care nu are un grup de utilizatori asociat va fi disponibilă pentru toți utilizatorii backend-ului. Prin urmare, pentru a împiedica utilizatorii grupului Manageri să arate alte surse de fișiere care nu sunt asociate cu mai mult de un grup, de exemplu, le puteți atribui grupului de utilizatori Administrator.

MODX - Conectați o sursă de sistem de fișiere la grupul Administrator

Sistemul de control al accesului MODX folosind o sursă de fișiere permite diferiților utilizatori să seteze directoare specifice la care vor avea acces, precum și să definească un set de privilegii în ele. Cu alte cuvinte, este un sistem prin care, de exemplu, unor utilizatori li se pot da niște cataloage, iar altora - alții.

4. Creați grup nou utilizatoriiși să îi atribuie drepturile necesare.

  • Deschideți pagina „Control acces”, accesați fila „Grupuri de utilizatori și utilizatori”, faceți clic pe butonul „Grup de utilizatori noi”.
  • În caseta de dialog care se deschide, completați următoarele câmpuri: „Nume” - Managerii; "Descriere" - Managerii; „Contexte” - web, mr; „Politica de backend” - Administrator.
  • Faceți clic pe butonul „Salvare”.
  • Treceți la modul de editare al grupului de utilizatori recent creat „Managers” (clic dreapta pe grup -> element din meniul contextual „Editare”).
  • Accesați fila „Drepturi de acces”.
  • Deschideți secțiunea „Acces la contexte”. Acces în context web: "Rol minim" - Membru (9999); Politica de acces - Încărcare, listă și vizualizare... Accesarea contextului mgr: "Rol minim" - Membru (9999), Politica de acces - Administrator.
  • În secțiunea „Acces la sursa fișierului”, adăugați o nouă intrare cu următoarele valori: „Sursă” - Imagini; "Rol minim" - Membru (9999), „Politica de acces” - Administrator sursă media.
  • Faceți clic pe butonul „Salvare”.

5. Creați utilizatorși adăugați-l în grupul „Manager”. Setați valoarea rolului la 9999 (Membru). Acest rol îi va fi suficient pentru a obține toate permisiunile acestui grup. Acest lucru se datorează faptului că pentru acest grup nu am atribuit politici de acces pentru care ar fi necesar un rol mai mare de 9999.

Adăugarea unui utilizator la grupul Manager (rol de membru)

Salutare tuturor cititorilor blogului WebHow! În cele din urmă, am găsit un plugin grozav pentru evidențierea codului în articole și acum puteți trece la treburi serioase. Așadar, glume deoparte, astăzi va exista o postare dură pentru cei care visează să organizeze un buletin, un catalog sau orice alt serviciu pe site-ul lor MODx, unde vizitatorii își vor posta ei înșiși conținutul.

Oricine este cel puțin familiarizat cu MODx știe că pentru a-și posta conținutul, utilizatorul trebuie să aibă acces la panoul de administrare. Desigur, nu vreau să-l distribui de la dreapta la stânga. Prin urmare, trebuie să vă asigurați că utilizatorii pot crea resurse și pot încărca fișiere în ele direct din paginile site-ului.

Nu sunt programator și când a trebuit pentru prima dată să creez un panou de mesaje pe MODx, tot ce puteam face a fost să caut o soluție gata făcută. Au existat o mulțime de opțiuni diferite de fragmente care ar permite publicarea unei resurse din frontend pentru MODx Revolution.

Principiul este aproximativ același pentru toată lumea: folosind FormIt, se creează o pagină cu un formular, în apelul căreia este scris numele fragmentului. Pentru fiecare tip de anunț, se creează propriile câmpuri TV, de exemplu, oraș, telefon sau un câmp pentru încărcarea imaginilor. Când utilizatorul trimite formularul, este creată o resursă.

Totuși, aproape toate fragmentele pe care am reușit să le găsesc au fost foarte greoaie: fiecare parametru TV trebuia scris în codul fragmentului, iar acest lucru nu mi se potrivea. Pentru că pentru fiecare tip de reclamă am conceput cel puțin 3 câmpuri suplimentare, iar toate trebuie scrise în snippet... nu, există o modalitate mai bună și mai ușoară. A fost găsit de mine pe partea în limba engleză a forumului oficial MODx.com. Și dacă nu vorbești și nu citești foarte bine engleza, sau ești prea leneș să cauți o opțiune potrivită din mai multe din subiect, am vă va spune cum să-l utilizați.

Am înregistrat un tutorial video pas cu pas pe acest subiect. Veți găsi toate materialele pentru acesta chiar sub player.

Fragment de cod Formit2resource

getObject ("modResource", array ("id" => $ hook-> getValue ("resource_id"))); if (gol ($ doc)) ($ doc = $ modx-> newObject ("modResource"); $ doc-> set ("createdby", $ modx-> user-> get ("id"));) else ($ doc-> set ("editedby", $ modx-> user-> get ("id"));) $ allFormFields = $ hook-> getValues ​​​​(); foreach ($ allFormFields ca $ câmp => $ valoare) (dacă ($ câmp! == „spam” && $ câmp! == „resource_id”) ($ doc-> set ($ câmp, $ valoare);)) $ alias = $ doc-> cleanAlias ​​​​($ câmpuri ["pagetitle"]); if ($ modx-> getCount (modResource, matrice ("alias" => $ alias)))! = 0) ($ count = 1; $ newAlias ​​​​= $ alias; while ($ modx-> getCount (modResource, matrice) (" alias "=> $ newAlias))! = 0) ($ newAlias ​​​​= $ alias; $ newAlias. =" - ". $ count; $ count ++;) $ alias = $ newAlias;) $ doc- > set ( " alias " , $ alias); $ doc-> set („șablon”, $ șablon); $ doc-> salvare (); foreach ($ allFormFields as $ field => $ value) (dacă (! gol ($ valoare) && $ tv = $ modx-> getObject ("modTemplateVar", array ("nume" => $ câmp)))) (/ * gestionează casetele de selectare și selectează mai multe elemente * / if (is_array (valoare $)) ($ featureInsert = matrice (); while (listă ($ featureValue, $ featureItem) = fiecare ($ valoare)) ($ featureInsert = $ featureItem;) $ value = implode ("||", $ featureInsert);) $ tv-> setValue ($ doc-> get ("id"), $ value); $ tv-> save ();)) $ modx-> cacheManager -> reîmprospătare (); returnează adevărat;

Codul fragmentului de fișier Formit2

user-> get ("id"); // Calea de la rădăcină pe care o specifică utilizatorul // creează o cale unică pentru prezentarea acestui formular $ uploadpath = "active / încărcări /".$ mydir." / "; // obține calea completă către folderul unic $ target_path = $ modx-> config ["base_path"]. $ uploadpath; // obțineți numele fișierelor încărcate: $ submittedfiles = array_keys ($ _ FILES); // parcurge fișierele pentru fiecare ($ submittedfiles ca $ sf) (// Obțineți numele fișierului și asigurați-vă că este bun. $ filename = nume de bază ($ _ FILES [$ sf] ["nume"]); // Obțineți extensia fișierului "s $ ext = informație cale ($ nume fișier, PATHINFO_EXTENSION); $ ext = mb_strtolower ($ ext); // fără majuscule // este numele fișierului gol (nu a fost încărcat niciun fișier) dacă ($ nume fișier! = "") (// este acesta tipul corect de fișier? if (in_array ($ ext, $ ext_array)) (// curățați numele fișierului și faceți unic $ filename = $ counter. ".". $ ext; $ filename = str_replace ("", „_”, $ nume fișier); // spații pentru a sublinia $ nume fișier = dată ("Ym-d_G-i-s_"). $ nume fișier; // adăugare dată și oră // cale completă la noul fișier $ myTarget = $ target_path . $ filename ; // creează un director în care să muți fișierul dacă „nu există mkdir ($ target_path, 0755, true); // fișierul este mutat cu succes în folderul corespunzător? if (move_uploaded_file ($ _ FILES [$ sf ] [" tmp_name "], $ myTarget)) (// setați un substituent nou cu noua cale completă (dacă aveți nevoie de el în cârligele ulterioare) $ myFile = $ încărcare cale. $ nume de fișier; $ hook-> setValue ($ sf, $ myFile); // setați permisiunile pentru fișier if (! chmod ($ myTarget, 0644)) (/ * o funcție de depanare * /)) else (// Fișierul nu a fost încărcat $ errorMsg = "A apărut o problemă la încărcarea fișierului."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // generează eroare de trimitere)) else (// Tip de fișier nu este permis $ errorMsg = "Tipul de fișier nu este permis."; $ hook-> addError ($ sf, $ errorMsg); $ ieșire = fals; // generează o eroare de trimitere) // dacă nu există niciun fișier, nu eroare, dar returnați necompletat) altfel ($ hook-> setValue ($ sf," ");) $ counter = $ counter + 1;) return $ output;

Prieteni! Nu uitați să înlocuiți câmpurile TV și ID-urile resurselor dvs. în codul formularului. Fii atent și vei reuși.

Apelarea FormIt

[[! FormIt? & hooks = `formit2file, formit2resource, redirect` & redirectTo =` ID pagina de mesaj` & template = `ID șablon de anunț`]]

Condiție pentru apelarea unei bucăți cu un formular

[[! + modx.user.id: is = `0`: then =` Pentru a plasa un anunț, este necesară autorizarea [[! Loginza? & grupuri = `3` & profileFields =` nume de utilizator, e-mail, nume complet, fotografie`]] `: else =` [[$ form_add]] `]]

Exemplu de cod de formular

[[+ fi.error.error_message]]

Nume
[[+ fi.error.pagetitle]]
*
Oraș
[[+ fi.error.city]]
*

Descriere detaliata

[[+ fi.error.content]]

Atașați fotografii:

Puteți plasa până la cinci fotografii în catalog. Formate acceptate: .jpg, .png, .gif
Fotografie sau sigla principală * [[+ fi.error.img]]
Fotografie suplimentară (1) [[+ fi.error.foto1]]
Fotografie suplimentară (2) [[+ fi.error.foto2]]
Fotografie suplimentară (3) [[+ fi.error.foto3]]
Fotografie suplimentară (4) [[+ fi.error.foto4]]

Condiție pentru afișarea unei imagini

[[* img: notempty = '']]
Acum utilizatorii site-ului dvs. nu pot doar să posteze reclame, ci și să le completeze cu fotografii, la fel ca pe orice panou de buletin. Dar dacă faci o greșeală în timp ce completezi formularul? De exemplu, o persoană a făcut un sigiliu și a indicat un număr de telefon greșit, sau poate că a vrut doar să completeze un anunț sau să modifice prețul produsului său.

Data viitoare o să vă spun. Și asta e tot pentru astăzi, sper că acest articol ți-a fost de folos.