Modx revo faila avota izveide ar augšupielādi. MODx Revolution: resursu izveide un failu ielāde no priekšgala

Programmā Evolution viss bija pavisam vienkārši: jūs izveidojat tiesības lietotājam un esat gatavs! Un šeit jums ir jāveic daudzas darbības, bet, no otras puses - Modx Revolution ar tiesībām uz dokumentiem un failiem jūs varat darīt visu, ko vēlaties (ja vien, protams, jūs to nesaprotat). Nu ko, sāksim!

1. Administratora paneļa augšējā izvēlnē atveriet sadaļu "Drošība" — "Piekļuves kontrole".

2. Atveriet cilni "Piekļuves politika".

3. Noklikšķiniet uz pogas "Izveidot piekļuves politiku".

Tiks atvērts logs ar laukiem. Laukā Nosaukums rakstām "pārvaldnieks", piekļuves politikas veidne ir AdministratorTemplate. Noklikšķiniet uz saglabāšanas pogas

4. Pēc "pārziņa" piekļuves politikas saglabāšanas mēs redzam, ka tā parādījās mūsu piekļuves politiku sarakstā

5. Rediģēt pārvaldnieku

6. Noņemiet nevajadzīgo parametru izvēles rūtiņas

Šīs atvērtās lapas apakšā ir opciju (atļauju) saraksts. Lai izvairītos no nepieciešamo dokumentu, failu, elementu rediģēšanas vai dzēšanas, lai vietne darbotos pareizi, mums ir jānoņem atzīmes tiem parametriem, kas ir atbildīgi par resursu parādīšanu administratora panelī.

Noņemiet atzīmi no izvēles rūtiņām tālāk norādītajām opcijām.

  • access_permissions Parādīt lapu ar lietotāja piekļuves tiesību iestatījumiem
  • informācijas paneļi Skatiet un pārvaldiet informācijas paneļus
  • element_tree Iespēja skatīt elementu koku kreisajā navigācijā
  • menu_reports Parādīt "Pārskati" augšējā izvēlnē
  • menu_security Parādīt "Drošība" augšējā izvēlnē
  • menu_system Augšējā izvēlnē parādiet vienumu "Sistēma".
  • menu_tools Parādīt "Rīki" augšējā izvēlnē
  • new_static_resource Izveidojiet jaunus statiskus resursus.
  • remove_locks Noņemiet visas vietnes slēdzenes

7. Atveriet cilni "Drošība" - "Piekļuves kontrole" - "Lomas"


8. Noklikšķiniet uz pogas "Izveidot jaunu", laukā Nosaukums, kuru mēs braucam pārvaldniekā, rangs - 9, noklikšķiniet uz pogas "Saglabāt".


9. Saglabājiet izmaiņas un dodieties uz izvēlni "Drošība" - "Piekļuves kontrole" - "Lietotāju grupas"


Ar peles labo pogu noklikšķiniet uz "Administrators" un noklikšķiniet uz "Izveidot lietotāju grupu".

10. Izveidojiet jaunu grupu: Nosaukums — Pārzinis, Aizmugursistēmas politika — nav politikas, noklikšķiniet uz "Saglabāt"

11. Mēs to atrodam lietotāju grupu sarakstā un noklikšķiniet uz "rediģēt".

12. Atveriet izvēlni “Piekļuve kontekstiem” un noklikšķiniet uz “Pievienot kontekstu”.

13. Konteksts - pārvaldnieks, minimālā loma - vadītājs - 9, piekļuves politika - pārvaldnieks

14. Cita konteksta pievienošana

Pareizāk sakot, mēs rediģējam esošo tīmekli: konteksts - tīmeklis, minimālā loma - pārvaldnieks - 9, piekļuves politika - administrators. Noklikšķiniet uz pogas "Saglabāt".

15. Mēs redzēsim šādu attēlu! Mēs saglabājam visu cilnē "Lietotāju grupa: pārvaldnieks"

16. Nākamais: "Drošība" - "Lietotāju pārvaldība"

17. Izveidojiet jaunu lietotāju (tas būs mūsu klients) - noklikšķiniet uz pogas "Jauns lietotājs".

Jūs varat dot viņam jebkuru vārdu, es viņu saukšu par menedžeri

18. Lietotājvārds - pārvaldnieks, noklikšķiniet uz izvēles rūtiņas - Active, drive in email

19. Norādiet paroli

20. Pirms saglabāšanas atveriet cilni "Atļaujas".

21. Noklikšķiniet uz pogas "Pievienot lietotāju grupai", Lietotāju grupa - "Pārvaldnieks", Loma - "Pārvaldnieks"

Mēs ietaupām. Tas pabeidz administrēšanas paneļa izveidi, kur klientam ir piekļuve tikai rediģēšanai un lapu izveidei dokumentu kokā. Bet šim lietotājam joprojām ir piekļuve visiem sistēmas failiem. Un tāpēc mēs tagad padarīsim to tā, lai viņam būtu piekļuve tikai vienai mapei, kuru mēs izveidosim Modx Revolution vietnes saknē.

22. Dodieties uz cilni "Rīki" - "Failu avoti"

23. Tiks atvērts visu failu avotu saraksts. Pēc noklusējuma tiek izveidots tikai viens - failu sistēma

Pirms jauna faila avota izveides vispirms ir jāmaina šis. Noklikšķiniet uz "Failu sistēma" ar peles labo pogu un atlasiet "Rediģēt".

24. Tiks atvērts šāds logs. Noklikšķiniet uz "Pievienot lietotāju grupu"

25. Lietotāju grupas - Administrators, Minimālā loma - Super User - 0, Politika - Media Source Admin. Noklikšķiniet uz "Saglabāt"

26. Atgriezieties pie File Sources un izveidojiet jaunu faila avotu

Sauksim to par "Manager", Faila avots Tim - Failu sistēma

27. Ar peles labo pogu noklikšķiniet uz jaunā faila avota "Manager" un atlasiet "Rediģēt"

28. Tāds logs atvērsies! Mums jāmaina pirmie 4 parametri

BasePath vērtības laukā mēs iebraucam /vadītājs/, basePathRelative un baseUrlRelative atstājiet tādu pašu, kāds tas ir ar vērtībām "Jā", laukā baseUrl mēs rakstām menedžeris/

29. Dodieties uz tv parametru

30. Noklikšķiniet uz jaunākās cilnes "Failu avoti".

un mainiet faila avotu no "Filesystem" uz "Manager". Ietaupiet!

31. Pievienojiet lietotāju grupu "Pārvaldniekam"

Tagad pēc visām veiktajām darbībām dodieties uz "Faila avots" - "Pārvaldnieks" un pievienojiet šim faila avotam lietotāju grupu.

32. Lietotāju grupas - Pārvaldnieks, Minimālā loma - Pārvaldnieks - 9, Politika - Media Source Admin. Noklikšķiniet uz "Saglabāt"

Tūlīt pēc saglabāšanas administratoram pazudīs faila avots "Manager". Lai varētu rediģēt šo faila avotu, jums jāiet uz izvēlni "Drošība - piekļuves kontrole". Atveriet pārvaldnieka grupu rediģēšanai: Pārzinis un cilnē Failu avoti atrodiet un izdzēsiet avota pārvaldnieku . Tikai tad mēs varam rediģēt vēlreiz dots avots no administratora pakļautības.

33. Katram gadījumam iztīriet kešatmiņu

un mūsu lietotājs ar ierobežotām tiesībām un piekļuvi failu sistēma izveidots!

Es neteikšu, ka tas ir pietiekami viegli, bet, ja to darīsi automātiski, tad tas nešķitīs kaut kas grūts. Ceru, ka jums viss izdevās! Veiksmi jūsu projektos!

Raksts, kurā apskatīts, kā MODX revolūcija tiek organizēta piekļuves tiesību sistēma, kā arī daži tipiski norādījumi lietotāju atļauju iestatīšanai.

Atļauju sistēma MODX

MODX Revolution neļauj lietotājam tieši piešķirt atļaujas. Šajā sistēmā šī darbība cauri lietotāju grupa.

Citiem vārdiem sakot, lai lietotājam piešķirtu dažas tiesības, ir nepieciešams:

  • izveidot grupu un piešķirt tai nepieciešamās privilēģijas;
  • ievietot vienu vai vairākus lietotājus šajā grupā.

Taču būt par lietotāju grupā nenozīmē, ka viņš saņems visas tās privilēģijas. Tiesības, ko lietotājs saņems, noteiks viņam šajā grupā piešķirtā loma. Lietotāja loma (rangs) grupā tiek definēta, izmantojot skaitli no 0 līdz 9999. Šī vērtība nosaka, kurš lietotājs saņems grupas privilēģijas un kurš ne.

Citiem vārdiem sakot lomu- tas ir sava veida mehānisms, kas ļauj piešķirt dažādas tiesības dažādiem lietotājiem vienas grupas ietvaros.

Ņemsim nelielu piemēru.


Šajā piemērā:

  • Lietotājs Lietotājs1 pieder grupai Grupa1. Tam ir tās grupas privilēģijas, kuru loma ir lielāka 2000 .
  • Lietotājs Lietotājs2 ir 2 grupās. Tam ir 2 grupas privilēģijas. No pirmās grupas Grupa1) tai ir tās privilēģijas, kuru loma ir lielāka vai vienāda ar 1000 . Un no otrā ( grupa2) - tās privilēģijas, kuru loma ir lielāka vai vienāda ar 9999 .
  • Lietotājs Lietotājs3 ir grupā grupa2. Šī grupa viņam piešķir tiesības, kuru loma ir lielāka vai vienāda ar 5000 .

Piekļuves politika MODX

Privilēģiju iestatīšana grupai programmā MODX Revolution tiek veikta, izmantojot piekļuves politikas. Tā (piekļuves politika) ir piešķirta grupai saistībā ar noteiktām MODX entītijām, proti, kontekstu, resursu grupu, elementu kategoriju, faila avotu un nosaukumvietu. Turklāt tas arī norāda minimāla loma, kam šīs grupas lietotājam ir jābūt šīm privilēģijām.

Apsveriet attēlu.

Privilēģijas, ko saņem grupas lietotāji atkarībā no tā, kādu lomu katrs tajā spēlē

Šajā piemērā:

  • Lietotājs Lietotājs1(loma 1. grupā - 2000 ) ir visas grupas privilēģijas Grupa1, kuras loma ir lielāka vai vienāda ar 2000. Tas ir, Šis K1, K2 un G2.
  • Lietotājs Lietotājs2 ir visaugstākā loma grupā (0) un līdz ar to visas tās privilēģijas ( K1, K2, G1 un G2).
  • Lietotājs Lietotājs3 ir grupā Grupa1 zemākā loma 9999 ). Saskaņā ar to viņš var veikt darbības sistēmā, kas definēta K2 un G2.

Piekļuves politika ir lietotājam piešķirto tiesību kopums, lai veiktu darbības vietnē, kurā darbojas CMS MODX Revolution.

Kāpēc tas tiek īstenots šādā veidā? Tas ir saistīts ar faktu, ka MODX ir daudz tiesību un ērtāk tās piešķirt grupās (citiem vārdiem sakot, izmantojot piekļuves politiku), nevis pa vienai.

Piemēram, piekļuves politika Ielādēt, Saraksts un Skatīt ir šāda atļauju kopa:

  • slodze (iekraut objektus);
  • saraksts (iegūstiet objektu kolekciju);
  • skats (skatīt objektus).

Kā izveidot savu piekļuves politiku

Iestatot atļaujas lietotāju grupai, jūs neaprobežojaties ar esošajām (iepriekš instalētajām) politikām MODX sistēmā. Ja nepieciešams, varat izveidot jaunus. Politikas izveide MODX ir balstīta uz piekļuves politikas veidne. Piekļuves politikas veidne ir MODX Revolution entītija, kas nosaka maksimālo pieejamo atļauju sarakstu, kad tiek izveidota piekļuves politika.

Tādējādi, lai izveidot piekļuves politiku ar nepieciešamajām atļaujām nepieciešams:

  1. Atrodiet piemērotu piekļuves politikas veidni (ja nepieciešams, rediģējiet esošu vai izveidojiet jaunu).
  2. Izveidojiet piekļuves politiku, atlasot atbilstošo veidni.
  3. No visa veidnes piedāvātā atļauju saraksta iekļaujiet tikai tās, kuras vēlaties piešķirt lietotājiem (ja viņiem būs šī politika).
Kā tiek noteikta pieejamo piekļuves politikas atļauju kopa

Veidojot piekļuves politiku, vienmēr sāciet ar minimālā tiesību skaita piešķiršanu, kas lietotājam nepieciešams, lai veiktu noteiktas darbības sistēmā. Ja nepieciešams, jūs vienmēr varat paplašināt lietotājam piešķirtās atļaujas.

Anonīms lietotājs

Programmā MODX Revolution ikviens neautorizēts vietnes apmeklētājs ir anonīms un pieder grupai (Anonīms). To var viegli pārbaudīt, izveidojot tālāk norādīto fragmentu, ievietojot tā izsaukumu resursa veidnē un pēc tam atverot lapu.

Php fragmenta kods GetUser:

lietotājs->get("lietotājvārds");

Lapas fragmenta izsaukšana:

[[!GetUser]]

Darba rezultāts:

(Anonīms)

Anonīmo lietotāju darbības vietnē MODX regulē, iestatot grupas atļaujas (Anonīms). Ja nepieciešams, šai grupai varat piešķirt papildu privilēģijas vai tās ierobežot.

Tipiski norādījumi par atļauju iestatīšanu

Šajā sadaļā mēs apskatīsim instrukcijas, kuras varat izmantot, ja nepieciešams:

  • ierobežot piekļuvi noteiktiem resursiem anonīmiem lietotājiem;
  • izveidot satura pārvaldnieku, kuram jādod piekļuve darbam ar resursiem admin panelī, kā arī iespēja augšupielādēt attēlus.

Piekļuves ierobežošana noteiktiem resursiem

Apskatīsim piemēru, kurā mēs ierobežosim anonīmu lietotāju piekļuvi noteiktiem resursiem (piemēram, personīgajam kontam, lapai "Mainīt paroli" utt.). Piekļuve šiem resursiem tiks nodrošināta tikai reģistrētiem lietotājiem.

Lai to izdarītu, jums ir nepieciešams:

  1. Izveidot resursu grupa Lietotāji(Saturs -> Resursu grupas -> Poga "Izveidot resursu grupu"). Parādītajā veidlapā ievadiet laukā "Vārds" - Lietotāji un noklikšķiniet uz pogas "Saglabāt". Ievietojiet tajā nepieciešamos resursus (kuru piekļuvi vēlaties ierobežot anonīmiem apmeklētājiem).
  2. Izveidot lietotāju grupa Lietotāji(Zobrata ikona -> Piekļuves kontrole -> Poga Jauna lietotāju grupa). Atvērtajā dialoglodziņā ievadiet laukā "Vārds" - Lietotāji, "Konteksti" - tīmeklī, "Backend politikas" - (bez politikas).
  3. Pārslēdzieties uz grupas rediģēšanas režīmu (lietotāju konteksta izvēlnē atlasiet vienumu "Rediģēt lietotāju grupu").
  4. Atveriet cilni "Atļaujas" un tajā "Piekļuve resursu grupām". Noklikšķiniet uz pogas "Pievienot resursu grupu" un aizpildiet atvērto veidlapu ("Resursu grupa" - grupai, "Konteksts" - (tīmeklis), Minimālā loma ir Dalībnieks (9999), "Piekļuves politika" - Ielādēt, Saraksts un Skatīt).

Pēc tam saņems jebkurš anonīms vai cits lietotājs (kuram nav tiesību). 404 resurss(jo viņam pat nav tiesību slodze), ja viņš mēģina atvērt kādu lapu no šīs grupas.

Ja vēlaties, lai anonīmie lietotāji, atverot aizsargātās lapas, tiktu nosūtīti uz kādu citu (piemēram, autorizācija), tad papildus jāveic sekojošais (proti, jādod tiesības slodzešai resursu grupai):

  1. Atvērt sistēmas iestatījumi(Zobrata ikona -> Sistēmas iestatījumi). Atlasiet sadaļu "Pamata" nosaukumvieta, sadaļu "Vietne". Atrast parametru neatļauta_lapa(Kļūdas lapa 403 "Piekļuve liegta") un norādiet kā vērtību - resursa id, kurā ir veidlapa "Atļauja".
  2. Pārslēdzieties uz grupas rediģēšanas režīmu (Anonīms). Sadaļā "Piekļuve resursu grupām" (cilne "Atļaujas") pievienojiet resursu grupa Lietotāji un iestatiet tam nepieciešamās tiesības (šajā gadījumā "Konteksts" - (tīmeklis), Minimālā loma ir Dalībnieks (9999), "Piekļuves politika" - Tikai ielāde).
Piekļuves konfigurēšana lietotāju resursu grupai anonīmiem lietotājiem

Atļauju iestatīšana satura pārvaldniekam

Šajā piemērā mēs izveidosim grupu “Pārvaldnieki”, kuras lietotāji varēs augšupielādēt attēlus admin paneļa direktorijā un strādāt ar noteiktiem resursiem.

Lai to izdarītu, varat, piemēram, izmantot šādu instrukciju:

1. Izveidojiet jaunu piekļuves politikas pārvaldnieks ar nepieciešamajām tiesībām:

  • Atveriet lapu "Piekļuves kontrole" (ikona "Gear" -> Access Control) un dodieties uz cilni "Piekļuves politika".
  • Izveidojiet satura redaktora politikas kopiju.
  • Rediģējiet izveidoto kopiju, proti, nomainiet nosaukuma lauku uz Pārvaldnieks un atzīmējiet izvēles rūtiņas blakus tiesību direktoriju_saraksts, failu_saraksts, failu_pārvaldnieks, failu_noņemšana, faila_koks, faila_augšupielāde. Rezultātā pārvaldnieka piekļuves politikai būs 30 atļaujas. Tas ir jādara, lai lietotājam piešķirtu tiesības strādāt ar failiem.
  • Noklikšķiniet uz pogas "Saglabāt".
Pārziņa piekļuves politikas iestatīšanas veidlapa

2. Administratora panelī paslēpiet resursus, kuriem pārvaldniekiem nevajadzētu piekļūt:

  • Atveriet lapu Resursu grupas un noklikšķiniet uz pogas Izveidot resursu grupu.
  • Atvērtajā veidlapā ievadiet "Vārds" - ClosedForManagers, "Konteksti" - pārvald un Atzīmēt Opcija "Automātiski piešķirt piekļuvi administratoru grupai".
  • Noklikšķiniet uz pogas "Saglabāt".
  • Velciet uz izveidoto grupu resursus, kas administratora panelī ir jāpaslēpj vadītājiem.

3. Nodrošiniet piekļuvi direktorijam, kurā lietotājs augšupielādēs attēlus.

  • Atveriet lapu "Failu avoti", noklikšķiniet uz "Izveidot". jauns avots faili".
  • Atvērtajā veidlapā ievadiet tekstu laukā "Vārds". Attēli, sadaļā "Apraksts" - Attēli, sadaļā "Faila avota veids" - Failu sistēma.
  • Noklikšķiniet uz pogas "Saglabāt".
  • Rediģējiet jaunizveidoto faila avotu (peles labā poga -> Rediģēt darbība).
  • Mainiet parametru vērtību: basePath - līdzekļi/attēli/, baseUrl - līdzekļi/attēli/, atļauti failu veidi - jpg, jpeg, png, gif.
  • Noklikšķiniet uz pogas "Saglabāt".
Attēlu faila avota iestatīšana

Faila avots, kuram nav piesaistīta lietotāju grupa, būs pieejams visiem aizmugursistēmas lietotājiem. Tāpēc, lai neļautu lietotājiem no grupas Pārvaldnieki rādīt citus failu avotus, kas nav saistīti ar vairākām grupām, tos, piemēram, var piešķirt lietotāju grupai Administrators.

MODX — failu sistēmas faila avota saistīšana ar administratoru grupu

MODX piekļuves kontroles sistēma, izmantojot failu avotu, ļauj dažādiem lietotājiem norādīt noteiktus direktorijus, kuriem viņiem būs piekļuve, kā arī noteikt tajos savu privilēģiju kopumu. Citiem vārdiem sakot, tā ir sistēma, kuru, piemēram, var izmantot, lai dažiem lietotājiem piešķirtu dažus direktorijus, bet citiem - citus.

4. Izveidot jauna grupa lietotājiem un piešķirt tam nepieciešamās tiesības.

  • Atveriet lapu "Piekļuves kontrole", dodieties uz cilni "Lietotāju grupas un lietotāji", noklikšķiniet uz pogas "Jauna lietotāju grupa".
  • Atvērtajā dialoglodziņā aizpildiet šādus laukus: "Vārds" - vadītājiem; "Apraksts" - Vadītāji; "Konteksti" - tīmeklis, pārvald; "Backend politika" - vadītājs.
  • Noklikšķiniet uz pogas "Saglabāt".
  • Pārslēdzieties uz jaunizveidotās lietotāju grupas “Pārvaldnieki” rediģēšanas režīmu (ar peles labo pogu noklikšķiniet uz grupas -> konteksta izvēlnes vienuma “Rediģēt”).
  • Dodieties uz cilni "Atļaujas".
  • Atveriet sadaļu "Piekļuve kontekstiem". Konteksta piekļuve tīmeklī: "Minimālā loma" - Dalībnieks (9999); Piekļuves politika - Ielādēt, Saraksts un Skatīt. Konteksta piekļuve pārvald: "Minimālā loma" - Dalībnieks (9999), Piekļuves politika - vadītājs.
  • Sadaļā "Piekļuve faila avotam" pievienojiet jaunu ierakstu ar šādām vērtībām: "Avots" - Attēli; "Minimālā loma" - Dalībnieks (9999), "Piekļuves politika" - Multivides avota administrators.
  • Noklikšķiniet uz pogas "Saglabāt".

5. Izveidot lietotājs un pievienojiet to grupai "Pārvaldnieks". Iestatiet lomas vērtību uz 9999 (biedrs). Ar šo lomu viņam pietiks, lai iegūtu visas šīs grupas atļaujas. Tas ir saistīts ar faktu, ka šai grupai mēs nepiešķīrām piekļuves politikas, kurām būtu nepieciešama loma, kas lielāka par 9999.

Lietotāja pievienošana pārvaldnieka grupai (dalībnieka loma)

Labdien visiem WebHow emuāra lasītājiem! Beidzot atradu lielisku rakstu koda izcelšanas spraudni, un tagad varu ķerties pie nopietnas lietas. Tātad, jokus malā, šodien būs skarbs ieraksts tiem, kuri sapņo savā MODx vietnē noorganizēt ziņojumu dēli, katalogu vai kādu citu servisu, kurā apmeklētāji paši ievietos savu saturu.

Ikviens, kurš vismaz nedaudz pārzina MODx, zina, ka, lai ievietotu saturu, lietotājam ir jābūt piekļuvei administratora panelim. Protams, jūs nevēlaties to izplatīt pa kreisi un pa labi. Tāpēc ir jāpārliecinās, ka lietotāji var izveidot resursus un augšupielādēt tajos failus tieši no vietnes lapām.

Es neesmu programmētājs, un, kad man pirmo reizi bija jāizveido ziņojumu dēlis MODx, es varēju tikai meklēt gatavu risinājumu. Bija diezgan daudz dažādu iespēju fragmentam, kas ļautu publicēt resursu no MODx Revolution priekšgala.

Princips visiem ir aptuveni vienāds: ar FormIt palīdzību tiek izveidota lapa ar formu, kuras izsaukumā ieraksta fragmenta nosaukumu. Katram reklāmas veidam ir savi TV lauki, piemēram, pilsēta, tālruņa numurs vai lauks attēlu augšupielādei. Kad lietotājs iesniedz veidlapu, resurss tiek izveidots.

Tomēr gandrīz visi fragmenti, ko varēju atrast, bija ļoti apgrūtinoši: katrs TV parametrs bija jāieraksta fragmenta kodā, un tas man nederēja. Tāpēc, ka katram reklāmas veidam esmu iecerējis vismaz 3 papildu laukus, un tos visus ierakstīju fragmentā... nē, ir labāks un vienkāršāks veids. Es to atradu oficiālā MODx.com foruma angļu valodas daļā Un, ja jūs nerunājat un nelasāt angļu valodu ļoti labi vai jums vienkārši ir slinkums meklēt piemērotu variantu no vairākiem tēmā, es jums pastāstīšu, kā lai to izmantotu.

Par šo tēmu es ierakstīju soli pa solim video instrukciju. Visus tam paredzētos materiālus atradīsit tieši zem atskaņotāja.

koda fragments formit2resource

getObject("modResource",array("id"=>$hook->getValue("resursa_id"))); if (tukšs($doc))( $doc = $modx->newObject("modResource"); $doc->set("createdby", $modx->user->get("id")); ) else ( $doc->set("rediģēts", $modx->user->get("id")); ) $allFormFields = $hook->getValues(); foreach ($allFormFields kā $field=>$value) (if ($field !== "spam" && $field !== "resursa_id")( $doc->set($field, $value); ) ) $ alias = $doc->cleanAlias($fields["lapas nosaukums"]); if($modx->getCount(modResource, array("alias"=>$alias))!= 0) ($count = 1; $newAlias>= $alias; while($modx->getCount(modResource, masīvs (" alias"=>$newAlias))!= 0) ( $newAlias = $alias; $newAlias .= "-" . $count; $count++; ) $alias = $newAlias; ) $doc- >set("alias" ,$alias); $doc->set("veidne", $veidne); $doc->save(); foreach ($allFormFields kā $field=>$value) (if (!empty($value) && $tv = $modx->getObject("modTemplateVar", masīvs ("name"=>$field))) ( /* apstrādā izvēles rūtiņas un vairākus atlases elementus */ if (is_array($value)) ( $featureInsert = array(); while (list($featureValue, $featureItem) = every($value)) ( $featureInsert = $featureItem; ) $ vērtība = implode("||",$featureInsert); ) $tv->setValue($doc->get("id"), $value); $tv->save(); ) ) $modx- >cacheManager ->refresh(); atgriezt patiesu;

koda fragments formit2file

lietotājs->get("id"); // Lietotāja norādītais ceļš no saknes // izveidot unikālu ceļu šai veidlapas iesniegšanai $uploadpath = "assets/uploads/".$mydir."/"; // iegūt pilnu ceļu uz unikālo mapi $target_path = $modx->config["base_path"]. $uploadpath; // iegūt augšupielādēto failu nosaukumus: $submittedfiles = array_keys($_FILES); // cilpa caur failiem foreach ($submittedfiles kā $sf) ( // Iegūstiet faila nosaukumu un pārliecinieties, vai tas ir labs. $filename = basename($_FILES[$sf]["name"]); // Iegūt faila paplašinājumu $ ext = pathinfo($faila nosaukums, PATHINFO_EXTENSION); $ext = mb_strtolower($ext); // reģistrjutīgs // ir faila nosaukums tukšs (nav augšupielādēts fails) if($filename != "") ( // ir vai šis ir pareizais faila veids? if(in_array($ext, $ext_array)) ( // notīriet faila nosaukumu un izveidojiet unikālu $filename = $counter . "." . $ext; $filename = str_replace(" ", " _" , $filename); // atstarpes pasvītros $filename = date("Y-m-d_G-i-s_") . $filename; // pievienot datumu un laiku // pilns ceļš uz jauno failu $myTarget = $target_path . $filename ; // izveidot direktoriju, kurā pārvietot failu, ja tas neeksistē mkdir($target_path, 0755, true); // vai fails ir veiksmīgi pārvietots uz pareizo mapi? if(move_uploaded_file($_FILES[$sf][ "tmp_name "], $myTarget)) ( // iestatiet jaunu vietturi ar jauno pilno ceļu (ja tas ir nepieciešams turpmākajos āķos) $myFile = $augšupielādēt ceļš. $faila nosaukums; $hook->setValue($sf,$myFile); // iestatiet faila atļaujas if (!chmod($myTarget, 0644)) ( /*daži atkļūdošanas funkcija*/ ) ) else ( // Fails nav augšupielādēts $errorMsg = "Radās problēma augšupielādējot failu."; $hook->addError($sf, $errorMsg); $output = false; // ģenerēt iesniegšanas kļūdu ) ) else ( // Faila veids nav atļauts $errorMsg = "Faila veids nav atļauts."; $hook->addError ($sf, $errorMsg); $output = false; // ģenerēt iesniegšanas kļūdu ) // ja nav faila, nekļūdieties, bet atgrieziet tukšu ) else ( $hook->setValue($sf, ""); ) $skaitītājs = $skaitītājs + 1; ) atgriezt $izeju;

Draugi! Neaizmirstiet veidlapas kodā aizstāt savus TV laukus un resursu ID. Esi uzmanīgs, un tev veiksies.

Zvaniet uz FormIt

[[!FormIt? &hooks=`formit2file,formit2resource,redirect` &redirectTo=`Tās lapas ID, kurā ir ziņojums` &template=`Reklāmas veidnes ID` ]]

Nosacījums gabala izsaukšanai ar formu

[[!+modx.user.id:is=`0`:then=`Reklāmu ievietošanai nepieciešama autorizācija [[!Loginza? &groups=`3` &profileFields=`lietotājvārds,e-pasts,pilns vārds,foto`]]`:else=`[[$form_add]]`]]

Veidlapas koda piemērs

[[+fi.error.error_message]]

Vārds
[[+fi.error.pagetitle]]
*
Pilsēta
[[+fi.error.city]]
*

Detalizēts apraksts

[[+fi.error.content]]

Pievienojiet fotoattēlus:

Katalogā varat ievietot līdz piecām fotogrāfijām. Pieņemamie formāti: .jpg, .png, .gif
Galvenais fotoattēls vai logotips * [[+fi.error.img]]
Papildu fotoattēls (1) [[+fi.error.foto1]]
Papildu fotoattēls (2) [[+fi.error.foto2]]
Papildu fotoattēls (3) [[+fi.error.foto3]]
Papildu fotoattēls (4) [[+fi.error.foto4]]

Nosacījums attēla parādīšanai

[[*img:notempty=``]]
Tagad jūsu vietnes lietotāji var ne tikai ievietot sludinājumus, bet arī papildināt tos ar fotoattēliem, tāpat kā uz jebkura ziņojumu dēļa. Bet ko darīt, ja, aizpildot veidlapu, ir pieļauta kļūda? Piemēram, kāds ir nepareizi ierakstījis un ievadījis nepareizu tālruņa numuru, vai arī viņš vienkārši vēlējās pievienot sludinājumu vai mainīt sava produkta cenu.

Es tev pastāstīšu nākamreiz. Un tas šodien ir viss, es ceru, ka šis raksts jums bija noderīgs.