Modx revo vytvorí zdroj súboru s nahraním. MODx Revolution: vytváranie aktív a načítanie súborov z frontendu

V Evolution bolo všetko celkom jednoduché: vytvorte užívateľské práva a máte hotovo! A tu je potrebné urobiť veľa krokov, ale na druhej strane - v Modx Revolution si s právami na dokumenty a súbory môžete robiť, čo chcete (pokiaľ tomu, samozrejme, nerozumiete). Nuž, začnime!

1. Prejdite na „Zabezpečenie“ – „Kontrola prístupu“ v hornom menu administračného panela

2. Prejdite na kartu „Zásady prístupu“.

3. Kliknite na tlačidlo „Vytvoriť politiku prístupu“.

Otvoríme okno s poľami. Do poľa Name napíšte „manažér“, šablóna politiky prístupu je AdministratorTemplate. Kliknite na tlačidlo uložiť

4. Po uložení politiky prístupu „správca“ vidíme, že sa objavila v našom zozname politík prístupu

5. Správca úprav

6. Zrušte začiarknutie nepotrebných parametrov

V spodnej časti tejto stránky, ktorá sa otvorí, je zoznam možností (povolení). Musíme zrušiť začiarknutie tých parametrov, ktoré sú zodpovedné za zobrazovanie akýchkoľvek zdrojov v správcovskom paneli, aby sme sa vyhli úpravám alebo vymazaniu potrebných dokumentov, súborov, prvkov, aby stránka fungovala správne.

Odstránime značky začiarknutia z nasledujúcich parametrov:

  • access_permissions Zobrazí stránku s nastaveniami prístupových práv používateľa
  • dashboards Zobrazenie a správa dashboardov
  • element_tree Schopnosť zobraziť strom elementov v ľavom navigačnom paneli
  • menu_reports Zobraziť položku "Prehľady" v hornom menu
  • menu_security Zobrazenie položky "Zabezpečenie" v hornom menu
  • menu_system Zobrazte položku "Systém" v hornom menu
  • menu_tools Zobrazte položku "Nástroje" v hornom menu
  • new_static_resource Vytvorte nové statické zdroje.
  • remove_locks Odstráňte všetky zámky na stránke

7. Prejdite na kartu "Zabezpečenie" - "Kontrola prístupu" - "Roly"


8. Stlačte tlačidlo "Vytvoriť nový", v poli Meno jazdíme v Manažérovi, Poradie - 9 stlačte tlačidlo "Uložiť"


9. Uložte zmeny a prejdite do časti „Zabezpečenie“ – „Kontrola prístupu“ – „Skupiny používateľov“


Kliknite pravým tlačidlom myši na „Správca“ a kliknite na „Vytvoriť skupinu používateľov“

10. Vytvorte novú skupinu: Názov - Manažér, Backend Policy - žiadna politika, kliknite na "Uložiť"

11. Nájdite ju v zozname skupín používateľov a kliknite na „upraviť“

12. Prejdite do ponuky „Prístup ku kontextom“ a kliknite na „Pridať kontext“

13. Kontext - mgr, Minimálna rola - Manažér - 9, Zásady prístupu - Manažér

14. Pridanie ďalšieho kontextu

Presnejšie upravujeme existujúci web: Kontext - web, Minimálna rola - Manažér - 9, Zásady prístupu - Administrátor. Kliknite na tlačidlo "Uložiť".

15. Uvidíme takýto obrázok! Všetko uložíme do záložky „Skupina používateľov: Manažér“.

16. Ďalej: „Zabezpečenie“ – „Správa používateľov“

17. Vytvorte nového užívateľa (bude to náš klient) - stlačte tlačidlo "Nový užívateľ".

Môžete mu dať meno, aké chcete, budem ho volať manažér

18. Používateľské meno - manažér, zaškrtnite políčko - Aktívne, zadajte e-mail

19. Zadajte heslo

20. Pred uložením prejdite na kartu „Prístupové práva“.

21. Stlačte tlačidlo "Pridať používateľa do skupiny", Skupina používateľov - "Správca", Rola - "Správca"

Ušetríme. Tým je vytvorenie admin panela ukončené, kde má klient prístup len k úpravám a vytváraniu stránok v strome dokumentov. Tento používateľ má však stále prístup ku všetkým súborom v systéme. A preto to teraz urobíme tak, že bude mať prístup len k jednému priečinku, ktorý vytvoríme v koreňovom adresári stránky Modx Revolution.

22. Prejdite na kartu "Nástroje" - "Zdroje súborov".

23. Otvorí sa zoznam všetkých zdrojov súborov. Štandardne je vytvorený iba jeden - Filesystem

Pred vytvorením nového zdroja súborov musíte tento zdroj najprv upraviť. Kliknite na "Systém súborov" pravým tlačidlom myši a vyberte "Upraviť"

24. Toto okno sa otvorí. Kliknite na „Pridať skupinu používateľov“

25. Skupiny používateľov - Administrátor, Minimálna rola - Super používateľ - 0, Zásady - Administrátor zdroja médií. Kliknite na "Uložiť"

26. Vráťte sa na Zdroje súborov a vytvorte nový zdroj súborov

Nazvime to "Správca", Zdroj súborov Tim - Systém súborov

27. Kliknite pravým tlačidlom myši na nový zdroj súboru „Správca“ a vyberte „Upraviť“

28. Takéto okno sa otvorí! Musíme zmeniť prvé 4 parametre

Do poľa basePath napíšeme / manažér /, basePathRelative a baseUrlRelative sú ponechané tak, ako sú s hodnotami „Yes“, do poľa baseUrl napíšeme manažér /

29. Ideme do parametra tv

30. Kliknite na najnovšiu kartu „Zdroje súborov“

a zmeňte zdroj súborov z "Systém súborov" na "Správca". Šetríme!

31. Pridajte skupinu používateľov do „Správcu“

Teraz, po všetkých vykonaných krokoch, prejdite na "Zdroj súboru" - "Správca" a pridajte skupinu používateľov k tomuto zdroju súborov

32. Skupiny užívateľov - Manažér, Minimálna rola - Manažér - 9, Zásady - Administrátor zdroja médií. Kliknite na "Uložiť"

Po uložení zdroj súboru „Manager“ správcovi zmizne. Aby ste mohli upravovať tento zdroj súborov, musíte prejsť do ponuky „Zabezpečenie – Kontrola prístupu“. Otvorte na úpravu skupiny správcu: Manažér a na karte „Zdroje súborov“ vyhľadajte a odstráňte zdroj správcu. Až potom môžeme znova upravovať daný zdroj spod správcu.

33. Pre každý prípad vymažte vyrovnávaciu pamäť

a náš používateľ s obmedzenými právami a prístupom systém súborov vytvorené!

Nepoviem, že je to dosť ľahké, ale ak to urobíte automaticky, nebude to vyzerať ako niečo ťažké. Dúfam, že uspejete! Veľa šťastia s vašimi projektmi!

Článok, v ktorom zvážime, ako v MODX revolúcia bol usporiadaný systém prístupových práv, ako aj niektoré typické pokyny na nastavenie povolení pre používateľov.

Systém prístupových práv v MODX

MODX Revolution vám neumožňuje priamo priradiť práva užívateľovi. V tomto systéme túto akciu vykonávané prostredníctvom skupiny užívateľov.

Inými slovami, na udelenie niektorých práv používateľovi je potrebné:

  • vytvoriť skupinu a prideliť jej potrebné privilégiá;
  • vložte jedného alebo viacerých používateľov do tejto skupiny.

Prítomnosť používateľa v skupine však neznamená, že získa všetky jej privilégiá. Práva, ktoré používateľ získa, budú určené pomocou roly, ktorá mu bola pridelená v tejto skupine. Rola (rank) používateľa v skupine sa určuje pomocou čísla od 0 do 9999. Táto hodnota určuje, ktorý používateľ získa skupinové privilégiá a ktorý nie.

Inými slovami úlohu- ide o druh mechanizmu, ktorý umožňuje rôznym používateľom prideľovať rôzne práva v rámci tej istej skupiny.

Pozrime sa na malý príklad.


V tomto príklade:

  • Používateľ Používateľ1 patrí do skupiny Skupina1... Má tie skupinové privilégiá, ktorých úloha je väčšia. 2000 .
  • Používateľ Používateľ2 pozostáva z 2 skupín. Má 2 skupinové privilégiá. Z prvej skupiny ( Skupina1) má tie privilégiá, ktorých úloha je väčšia alebo rovná 1000 ... A od druhej ( Skupina2) - tie privilégiá, ktorých úloha je väčšia alebo rovná 9999 .
  • Používateľ Používateľ 3 je v skupine Skupina2... Táto skupina mu dáva tie práva, ktorých úloha je väčšia alebo rovná 5000 .

Politika prístupu MODX

Zriadenie skupinových privilégií v MODX Revolution sa vykonáva pomocou prístupové politiky... Táto (prístupová politika) je priradená skupine vo vzťahu ku konkrétnym entitám MODX, konkrétne kontextu, skupine prostriedkov, kategórii položky, zdroju súboru a priestoru názvov. Okrem toho je to aj uvedené minimálna úloha ktoré používateľ tejto skupiny potrebuje mať tieto privilégiá.

Zvážte obrázok.

Privilégiá, ktoré získajú používatelia skupiny v závislosti od toho, akú úlohu v nej každý z nich zohráva

V tomto príklade:

  • Používateľ Používateľ1(rola v skupine Skupina 1 - 2000 ) má všetky privilégiá skupiny Skupina1 ktorých rola je väčšia alebo rovná 2000. To znamená, toto je K1, K2 a G2.
  • Používateľ Používateľ2 má najvyššiu rolu v skupine (0), a teda všetky jej privilégiá ( K1, K2, D1 a G2).
  • Používateľ Používateľ 3 má v skupine Skupina1 najnižšia rola ( 9999 ). V súlade s ním môže vykonávať akcie v systéme, definované v K2 a G2.

Politika prístupu je súbor práv udelených používateľovi na vykonávanie akcií na lokalite poháňanej systémom CMS MODX Revolution.

Prečo sa to takto implementuje? Je to spôsobené tým, že v MODX je veľa práv a je pohodlnejšie ich prideľovať v skupinách (inými slovami, pomocou politiky prístupu), a nie po jednom.

Napríklad politika prístupu Načítať, zobraziť a zobraziť má nasledujúcu skupinu povolení:

  • zaťaženie (zaťaženie predmetov);
  • zoznam (získať zbierku predmetov);
  • pohľad (prezeranie objektov).

Ako vytvoriť vlastnú politiku prístupu

Pri nastavovaní oprávnení pre skupinu používateľov nie ste obmedzený na existujúce (predinštalované) politiky v systéme MODX. V prípade potreby môžete vytvoriť nové. Tvorba politiky v MODX je založená na šablóna politiky prístupu... Šablóna prístupovej politiky je entita MODX Revolution, ktorá definuje maximálny zoznam oprávnení dostupných pri vytváraní prístupovej politiky.

Teda, aby sa vytvorte politiku prístupu s požadovanými povoleniami potrebné:

  1. Nájdite vhodnú šablónu politiky prístupu (v prípade potreby upravte existujúcu alebo vytvorte novú).
  2. Vytvorte politiku prístupu výberom vhodnej šablóny.
  3. Z celého zoznamu povolení, ktoré ponúka šablóna, zahrňte iba tie, ktoré chcete udeliť používateľom (ak budú mať túto politiku).
Ako sa určuje množina dostupných povolení politiky prístupu

Pri vytváraní politiky prístupu vždy začnite pridelením minimálneho počtu práv, ktoré sú dostatočné na to, aby používateľ mohol vykonávať určité akcie v systéme. V prípade potreby môžete kedykoľvek rozšíriť povolenia udelené používateľovi.

Anonymný používateľ

V MODX Revolution je každý neoprávnený návštevník stránky anonymný a patrí do skupiny (anonymný)... Môžete to ľahko overiť, ak vytvoríte nasledujúci úryvok, zavoláte ho do šablóny prostriedku a potom otvoríte stránku.

Php kód pre úryvok GetUser:

užívateľ-> získať ("používateľské meno");

Volanie úryvku na stránke:

[[! GetUser]]

Vysledok prace:

(anonymný)

Akcie anonymných používateľov na lokalite v MODX sú regulované nastavením skupinových povolení (anonymný)... V prípade potreby môžete tejto skupine poskytnúť ďalšie privilégiá alebo ich obmedziť.

Typické pokyny na nastavenie povolení

V tejto časti sa pozrieme na pokyny, ktoré môžete použiť, keď potrebujete:

  • obmedziť prístup k určitým zdrojom pre anonymných používateľov;
  • vytvorte správcu obsahu, ktorému je potrebné poskytnúť prístup na prácu so zdrojmi na paneli správcu, ako aj možnosť odovzdávať obrázky.

Obmedzenie prístupu k určitým zdrojom

Zvážte príklad, v ktorom obmedzíme prístup anonymných používateľov k určitým zdrojom (napríklad k osobnému účtu, na stránku „Zmeniť heslo“ atď.). Prístup k týmto zdrojom poskytneme len registrovaným užívateľom.

Ak to chcete urobiť, musíte:

  1. Vytvorte skupina zdrojov Users(Obsah -> Skupiny prostriedkov -> tlačidlo Vytvoriť skupinu prostriedkov). V zobrazenom formulári zadajte do poľa „Meno“ - Používatelia a kliknite na tlačidlo "Uložiť". Umiestnite do nej potrebné zdroje (prístup ku ktorým musí byť anonymným návštevníkom obmedzený).
  2. Vytvorte skupina Používatelia(Ikona "Ozubené koleso" -> Kontrola prístupu -> tlačidlo "Nová skupina používateľov"). V dialógovom okne, ktoré sa otvorí, zadajte do poľa „Názov“ - Používatelia, "Kontexty" - web, "Zásady na pozadí" - (žiadna politika).
  3. Prepnite sa do režimu úpravy skupiny (v kontextovom menu Používatelia vyberte položku „Upraviť skupinu používateľov“).
  4. Otvorte kartu „Prístupové práva“ a v nej „Prístup k skupinám zdrojov“. Kliknite na tlačidlo „Pridať skupinu zdrojov“ a vyplňte otvorený formulár („Skupina zdrojov“ - Skupina, "Kontext" - (web), Minimálna rola je Člen (9999), "Pravidlá prístupu" - Načítať, zobraziť a zobraziť).

Potom dostane každý anonymný alebo iný používateľ (ktorý nemá žiadne práva). 404 Zdroj(keďže na to ani nemá právo naložiť), ak sa pokúsi otvoriť akúkoľvek stránku z tejto skupiny.

Ak chcete, aby anonymní používatelia pri otváraní chránených stránok preposielali iným (napríklad autorizácia), musíte navyše urobiť nasledovné (konkrétne udeliť právo naložiť pre túto skupinu zdrojov):

  1. Otvorené systémové nastavenia(ikona "ozubené koleso" -> Nastavenia systému). Vyberte menný priestor "core", sekciu "Site". Nájsť parameter neautorizovaná_stránka(Chybová stránka 403 "Prístup odmietnutý") a zadajte ho ako hodnotu - ID zdroja obsahujúci formulár „Oprávnenie“.
  2. Prepnite do režimu skupinovej úpravy (anonymný)... V časti „Prístup k skupinám zdrojov“ (záložka „Prístupové práva“) pridajte skupina zdrojov Users a nastavte mu potrebné práva (v tomto prípade „Kontext“ - (web), Minimálna rola je Člen (9999), "Pravidlá prístupu" - Len načítať).
Konfigurácia prístupu k skupine prostriedkov Users pre anonymných používateľov

Nastavenie práv pre správcu obsahu

V tomto príklade vytvoríme skupinu „Manažéri“, ktorej používatelia budú môcť nahrávať obrázky do adresára v administračnom paneli a pracovať s určitými zdrojmi.

Ak to chcete urobiť, môžete použiť napríklad nasledujúci návod:

1. Vytvorte nový Zásady prístupu manažéra s potrebnými právami:

  • Otvorte stránku „Access Control“ (ikona „Gear“ -> Access Control) a prejdite na kartu „Access Policy“.
  • Vytvorte kópiu zásady „Editor obsahu“.
  • Upravte vytvorenú kópiu, konkrétne zmeňte pole názvu na Správca a začiarknite políčka vedľa práv na adresár_zoznam, zoznam_súborov, správca_súborov, odstraňovanie_súborov, strom_súborov, nahrávanie súborov. V dôsledku toho bude mať politika prístupu správcu 30 povolení. Toto je potrebné urobiť, aby sa používateľom udelili práva na prácu so súbormi.
  • Kliknite na tlačidlo "Uložiť".
Formulár konfigurácie politiky prístupu manažéra

2. Skryte zdroje, ku ktorým by manažéri nemali mať prístup, na paneli správcu:

  • Otvorte stránku Skupiny zdrojov a kliknite na tlačidlo Vytvoriť skupinu zdrojov.
  • Vo formulári, ktorý sa otvorí, zadajte „Meno“ - ClosedForManagers, "Kontexty" - Mgr a Marka možnosť „Automaticky udeliť prístup skupine správcov“.
  • Kliknite na tlačidlo "Uložiť".
  • Presuňte prostriedky do vytvorenej skupiny, ktoré je potrebné skryť pre manažérov na paneli správcu.

3. Poskytnite prístup k adresáru, do ktorého bude používateľ nahrávať obrázky.

  • Otvorte stránku „Zdroje súborov“, kliknite na „Vytvoriť nový zdroj súbory ".
  • Vo formulári, ktorý sa otvorí, zadajte text do poľa „Názov“. snímky, v "Popis" - snímky, v "Typ zdroja súboru" - Systém súborov.
  • Kliknite na tlačidlo "Uložiť".
  • Upravte novovytvorený zdroj súborov (pravé tlačidlo myši -> akcia "Upraviť").
  • Zmeňte hodnotu parametrov: basePath - aktíva / obrázky /, baseUrl - aktíva / obrázky /, povolené typy súborov - jpg, jpeg, png, gif.
  • Kliknite na tlačidlo "Uložiť".
Konfigurácia zdroja obrázkových súborov

Zdroj súboru, ktorý nemá priradenú skupinu používateľov, bude dostupný všetkým používateľom koncového servera. Preto, aby ste napríklad zabránili používateľom skupiny Managers zobrazovať iné zdroje súborov, ktoré nie sú priradené k viac ako jednej skupine, môžete ich priradiť k skupine používateľov Administrator.

MODX – Prepojte zdroj súborového systému so skupinou správcov

Systém riadenia prístupu MODX pomocou zdroja súborov umožňuje rôznym používateľom nastaviť konkrétne adresáre, do ktorých budú mať prístup, ako aj definovať v nich sadu svojich privilégií. Inými slovami, je to systém, pomocou ktorého môžu napríklad niektorí používatelia dostať nejaké katalógy a iní - iní.

4. Vytvorte nová skupina používateľov a prideliť mu potrebné práva.

  • Otvorte stránku „Ovládanie prístupu“, prejdite na kartu „Skupiny používateľov a používatelia“, kliknite na tlačidlo „Nová skupina používateľov“.
  • V dialógovom okne, ktoré sa otvorí, vyplňte nasledujúce polia: "Názov" - manažérov; "Popis" - manažérov; "Kontexty" - web, Mgr; "Zásady zálohovania" - manažér.
  • Kliknite na tlačidlo "Uložiť".
  • Prepnite sa do editačného režimu práve vytvorenej užívateľskej skupiny "Správcovia" (kliknite pravým tlačidlom myši na skupinu -> položku v kontextovom menu "Upraviť").
  • Prejdite na kartu „Prístupové práva“.
  • Otvorte sekciu „Prístup ku kontextom“. Kontextový prístup web: "Minimálna rola" - Člen (9999); Zásady prístupu - Načítať, zobraziť a zobraziť... Prístup ku kontextu Mgr: "Minimálna rola" - Člen (9999), Zásady prístupu - manažér.
  • V časti „Prístup k zdroju súboru“ pridajte novú položku s nasledujúcimi hodnotami: „Zdroj“ - snímky; "Minimálna rola" - Člen (9999), "Pravidlá prístupu" - Správca zdroja médií.
  • Kliknite na tlačidlo "Uložiť".

5. Vytvorte užívateľ a pridajte ho do skupiny "Správca". Nastavte hodnotu roly na 9999 (člen). Táto rola mu bude stačiť na získanie všetkých povolení tejto skupiny. Dôvodom je skutočnosť, že tejto skupine sme nepriradili politiky prístupu, pre ktoré by bola potrebná rola vyššia ako 9999.

Pridanie používateľa do skupiny manažéra (rola člena)

Zdravím všetkých čitateľov blogu WebHow! Nakoniec som našiel skvelý plugin na zvýrazňovanie kódu v článkoch a teraz sa môžete pustiť do serióznej práce. Takže, žarty bokom, dnes tu bude drsný príspevok pre tých, ktorí snívajú o organizovaní nástenky, katalógu alebo akejkoľvek inej služby na svojej MODx stránke, kde budú návštevníci sami zverejňovať svoj obsah.

Každý, kto sa v MODx aspoň trochu vyzná, vie, že na zverejnenie ich obsahu musí mať používateľ prístup do admin panelu. Samozrejme, nechcem to distribuovať sprava doľava. Preto sa musíte uistiť, že používatelia môžu vytvárať zdroje a nahrávať do nich súbory priamo zo stránok lokality.

Nie som programátor, a keď som mal prvýkrát vytvoriť nástenku na MODx, jediné, čo som mohol urobiť, bolo hľadať hotové riešenie. Existovalo pomerne veľa rôznych možností úryvkov, ktoré by umožnili publikovanie zdroja z frontendu pre MODx Revolution.

Princíp je pre všetkých približne rovnaký: pomocou FormIt sa vytvorí stránka s formulárom, do ktorého volania sa zapíše názov úryvku. Pre každý typ reklamy sú vytvorené vlastné TV polia, napríklad mesto, telefón alebo pole na nahrávanie obrázkov. Keď používateľ odošle formulár, vytvorí sa zdroj.

Takmer všetky úryvky, ktoré sa mi podarilo nájsť, boli však veľmi ťažkopádne: každý parameter televízora musel byť zapísaný v kóde úryvku, a to mi nevyhovovalo. Pretože pre každý typ reklamy som vymyslel minimálne 3 doplnkové polia a všetky musia byť napísané v úryvku ... nie, existuje lepší a jednoduchší spôsob. Našiel som to na anglickojazyčnej časti oficiálneho fóra MODx.com A ak nehovoríte a čítate anglicky veľmi dobre alebo ste len príliš leniví hľadať vhodnú možnosť z viacerých v téme, poviem ako ho používať.

Nahral som videonávod krok za krokom na túto tému. Všetky materiály k nemu nájdete hneď pod prehrávačom.

Kód útržku Formit2resource

getObject ("modResource", pole ("id" => $ hook-> getValue ("resource_id"))); if (empty ($ 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 ako pole $ => hodnota $) (if (pole $! == pole "spam" && $! == "resource_id") ($ doc-> set (pole $, hodnota $);)) $ alias = $ doc-> cleanAlias ​​​​($ polia ["názov stránky"]); if ($ modx-> getCount (modResource, pole ("alias" => $ alias))! = 0) ($ count = 1; $ newAlias ​​​​= $ alias; while ($ modx-> getCount (modResource, pole (" alias "=> $ newAlias))! = 0) ($ newAlias ​​​​= $ alias; $ newAlias. =" - ". $ count; $ count ++;) $ alias = $ newAlias;) $ doc- > set (" alias " , $ alias); $ doc-> set ("šablóna", $ šablóna); $ doc-> uložiť (); foreach ($ allFormFields ako pole $ => hodnota $) (if (! prázdne (hodnota $) && $ tv = $ modx-> getObject ("modTemplateVar", pole ("name" => pole $))) (/ * spracováva začiarkavacie políčka a viacnásobné výbery prvkov * / if (is_array ($ value)) ($ featureInsert = pole (); while (zoznam ($ featureValue, $ featureItem) = každý ($ value)) ($ featureInsert = $ featureItem;) $ value = implode ("||", $ featureInsert);) $ tv-> setValue ($ doc-> get ("id"), $ value); $ tv-> save ();)) $ modx-> cacheManager -> obnoviť (); vrátiť true;

Útržkový kód Formit2file

user-> get ("id"); // Cesta od koreňového adresára, ktorú používateľ zadá // vytvorí jedinečnú cestu pre odoslanie formulára $ uploadpath = "assets / uploads /".$ mydir." / "; // získajte úplnú cestu k jedinečnému priečinku $ target_path = $ modx-> config ["base_path"]. $ uploadpath; // získanie názvov nahratých súborov: $ submitfiles = array_keys ($ _ FILES); // prechádzať súbormi foreach ($ submitfiles ako $ sf) (// Získajte názov súboru a uistite sa, že je v poriadku. $ názov súboru = základný názov ($ _ FILES [$ sf] ["name"]); // Získanie prípony súboru $ ext = pathinfo ($ filename, PATHINFO_EXTENSION); $ ext = mb_strtolower ($ ext); // nerozlišujú sa malé a veľké písmená // ​​je názov súboru prázdny (nenahral sa žiadny súbor), ak ($ ​​filename! = "") (// je toto správny typ súboru? if (in_array ($ ext, $ ext_array)) (// vyčistite názov súboru a vytvorte jedinečný $ názov_súboru = $ counter. ".". $ ext; $ názov_súboru = str_replace ("", "_" , $ názov súboru); // medzery na podčiarknutie $ názov súboru = dátum ("Ym-d_G-i-s_"). $ názov súboru; // pridanie dátumu a času // úplná cesta k novému súboru $ myTarget = $ target_path $ názov_súboru ; // vytvorte adresár, do ktorého sa má súbor presunúť, ak neexistuje mkdir ($ target_path, 0755, true); // je súbor úspešne presunutý do správneho priečinka? if (presunúť_súbor_nahrávaný_súbor ($ _ FILES [$ sf ] [" tmp_name "], $ myTarget)) (// nastavte nový zástupný symbol s novou úplnou cestou (ak ju potrebujete v nasledujúcich háčikoch) $ myFile = $ upload cesta. $ názov súboru; $ hook-> setValue ($ sf, $ myFile); // nastavenie oprávnení pre súbor if (! chmod ($ myTarget, 0644)) (/ * nejaká ladiaca funkcia * /)) else (// Súbor nebol nahraný $ errorMsg = "Pri nahrávaní súboru sa vyskytol problém."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // generovanie chyby pri odoslaní)) else (// Typ súboru nie je povolený $ errorMsg = "Typ súboru nie je povolený."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // vygenerovať chybu odoslania) // ak nie je súbor, don "t error, ale return blank) else ($ hook-> setValue ($ sf," ");) $ počítadlo = $ počítadlo + 1;) návrat $ výstup;

Priatelia! Nezabudnite nahradiť svoje TV polia a ID vašich zdrojov v kóde formulára. Buďte opatrní a budete úspešní.

Volanie FormIt

[[! FormIt? & hooks = `formit2file, formit2resource, redirect` & redirectTo =` ID stránky správy` & template = `ID šablóny reklamy`]]

Podmienka volania chunk s formulárom

[[! + modx.user.id: is = `0`: then =` Na umiestnenie reklamy je potrebná autorizácia [[! Loginza? & skupiny = `3` & profileFields =` používateľské meno, e-mail, celé meno, fotografia`]] `: else =` [[$ form_add]] `]]

Vzorový kód formulára

[[+ fi.error.error_message]]

názov
[[+ fi.error.pagetitle]]
*
Mesto
[[+ fi.error.city]]
*

Detailný popis

[[+ fi.error.content]]

Priložiť fotografie:

Do katalógu môžete umiestniť až päť fotografií. Akceptované formáty: .jpg, .png, .gif
Hlavná fotografia alebo logo * [[+ fi.error.img]]
Ďalšie foto (1) [[+ fi.error.foto1]]
Ďalšie foto (2) [[+ fi.error.foto2]]
Ďalšie foto (3) [[+ fi.error.foto3]]
Ďalšie foto (4) [[+ fi.error.foto4]]

Podmienka pre zobrazenie obrázku

[[* img: notempty = '']]
Používatelia vašej stránky teraz môžu nielen uverejňovať inzeráty, ale aj dopĺňať ich fotografiami, tak ako na každej nástenke. Čo ak sa však pri vypĺňaní formulára pomýlite? Napríklad osoba urobila pečať a uviedla nesprávne telefónne číslo alebo možno len chcela doplniť reklamu alebo zmeniť cenu svojho produktu.

Nabudúce ti to poviem. A to je na dnes všetko, dúfam, že tento článok bol pre vás užitočný.