Modx revo fájlforrás létrehozása feltöltéssel. MODx Revolution: eszközök létrehozása és fájlok betöltése a frontendről

Az Evolutionban minden nagyon egyszerű volt: hozzon létre felhasználói jogokat, és kész! És itt sok lépést kell tennie, másrészt - a Modx Revolutionben a dokumentumokhoz és fájlokhoz való jogokkal bármit megtehet (kivéve persze, ha ezt megérti). Nos, kezdjük!

1. Az adminisztrációs panel felső menüjében lépjen a "Biztonság" - "Hozzáférés-vezérlés" elemre.

2. Lépjen a "Hozzáférési szabályzat" fülre

3. Kattintson a "Hozzáférési szabályzat létrehozása" gombra

Kinyitunk egy ablakot mezőkkel. A Név mezőbe írja be a „manager” kifejezést, a hozzáférési szabályzat sablonja: AdministratorTemplate. Kattintson a mentés gombra

4. A „kezelői” hozzáférési szabályzat mentése után azt látjuk, hogy megjelent a hozzáférési szabályzatunk listáján

5. Szerkesztési menedzser

6. Törölje a szükségtelen paraméterek jelölését

A megnyíló oldal alján a lehetőségek (engedélyek) listája található. Törölnünk kell azon paraméterek jelölését, amelyek felelősek az erőforrások megjelenítéséért az adminisztrációs panelen, hogy elkerüljük az oldal megfelelő működéséhez szükséges dokumentumok, fájlok, elemek szerkesztését vagy törlését.

A következő paraméterekről eltávolítjuk a pipát:

  • access_permissions Megjelenít egy oldalt a felhasználói hozzáférési jogok beállításaival
  • irányítópultok Az irányítópultok megtekintése és kezelése
  • element_tree Lehetőség az elemfa megtekintésére a bal oldali navigációs ablakban
  • menu_reports Jelenítse meg a "Jelentések" elemet a felső menüben
  • menu_security A "Biztonság" elem megjelenítése a felső menüben
  • menu_system A "Rendszer" elem megjelenítése a felső menüben
  • menu_tools Az "Eszközök" elem megjelenítése a felső menüben
  • new_static_resource Új statikus erőforrások létrehozása.
  • remove_locks Távolítsa el az összes zárolást a webhelyről

7. Lépjen a "Biztonság" - "Hozzáférés-vezérlés" - "Szerepek" fülre.


8. Nyomja meg az "Új létrehozása" gombot, a Név, amelyet a Managerben vezetünk, Rang - 9 mezőben nyomja meg a "Mentés" gombot.


9. Mentse el a módosításokat, és lépjen a "Biztonság" - "Hozzáférés-vezérlés" - "Felhasználói csoportok" menüpontra.


Kattintson a jobb gombbal az "Adminisztrátor" elemre, majd kattintson a "Felhasználói csoport létrehozása" gombra.

10. Hozzon létre egy új csoportot: Név – Kezelő, Backend Policy – ​​nincs házirend, kattintson a „Mentés” gombra.

11. Keresse meg a Felhasználói csoportok listájában, és kattintson a "szerkesztés" gombra.

12. Lépjen a "Kontextusokhoz való hozzáférés" menübe, és kattintson a "Kontextus hozzáadása" gombra.

13. Kontextus - kezelő, Minimális szerepkör - Menedzser - 9, Hozzáférési szabályzat - Menedzser

14. További kontextus hozzáadása

Pontosabban a meglévő webet szerkesztjük: Kontextus - web, Minimális szerepkör - Manager - 9, Access Policy - Administrator. Kattintson a "Mentés" gombra

15. Ilyen képet fogunk látni! Mindent elmentünk a „Felhasználói csoport: Kezelő” fülre

16. Következő: „Biztonság” – „Felhasználókezelés”

17. Hozzon létre egy új felhasználót (ez lesz a mi ügyfelünk) - nyomja meg az "Új felhasználó" gombot.

Bármilyen nevet adhatsz neki, én menedzsernek fogom hívni

18. Felhasználónév - menedzser, kattintson a jelölőnégyzetre - Aktív, meghajtó e-mailben

19. Adjon meg egy jelszót

20. Mentés előtt lépjen a "Hozzáférési jogok" fülre

21. Nyomja meg a "Felhasználó hozzáadása a csoporthoz", Felhasználói csoport - "Kezelő", Szerep - "Kezelő" gombot.

spórolunk. Ezzel befejeződik az adminisztrációs panel létrehozása, ahol az ügyfél csak a dokumentumfában lévő oldalak szerkesztéséhez és létrehozásához férhet hozzá. Ez a felhasználó azonban továbbra is hozzáfér a rendszer összes fájljához. Ezért most azt fogjuk elérni, hogy csak egy mappához férhessen hozzá, amelyet a Modx Revolution webhely gyökerében fogunk létrehozni.

22. Lépjen az "Eszközök" - "Fájlforrások" fülre

23. Megnyílik az összes fájlforrás listája. Alapértelmezés szerint csak egy jön létre - a fájlrendszer

Mielőtt létrehozna egy új fájlforrást, először ezt kell módosítania. Kattintson a jobb egérgombbal a "Fájlrendszer" elemre, és válassza a "Szerkesztés" lehetőséget.

24. Ez az ablak megnyílik. Kattintson a "Felhasználói csoport hozzáadása" gombra

25. Felhasználói csoportok - Rendszergazda, Minimális szerepkör - Kiemelt felhasználó - 0, Házirend - Médiaforrás Adminisztrátor. Kattintson a "Mentés" gombra

26. Menjen vissza a Fájlforrásokhoz, és hozzon létre egy új fájlforrást

Nevezzük "kezelőnek", fájlforrás Tim - fájlrendszer

27. Kattintson a jobb gombbal az új fájlforrásra, a „Kezelõ” elemre, és válassza a „Szerkesztés” menüpontot.

28. Ilyen ablak fog kinyílni! Az első 4 paramétert módosítanunk kell

A mezőben lévő basePath mezőbe írjuk be / menedzser /, a basePathRelative és a baseUrlRelative változatlan marad a "Yes" értékkel, a baseUrl mezőbe írjuk menedzser /

29. Bemegyünk a tv paraméterbe

30. Kattintson a legutóbbi "Fájlforrások" fülre.

és módosítsa a fájlok forrását „Fájlrendszer”-ről „Kezelő”-re. spórolunk!

31. Adjon hozzá egy felhasználói csoportot a "kezelőhöz"

Most, az összes megtett lépés után lépjen a "Fájlforrás" - "Kezelõ" elemre, és adjon hozzá egy felhasználói csoportot ehhez a fájlforráshoz.

32. Felhasználói csoportok - Menedzser, Minimális szerepkör - Menedzser - 9, Házirend - Médiaforrás Admin. Kattintson a "Mentés" gombra

Mentés után a „Kezelő” fájlforrás eltűnik a rendszergazda számára. Ennek a fájlforrásnak a szerkesztéséhez lépjen a „Biztonság – Hozzáférés-vezérlés” menübe. Nyissa meg a kezelő csoportjának szerkesztéséhez: Kezelő, majd a "Fájlforrások" lapon keresse meg és törölje a Manager forrást. Csak ezután szerkeszthetjük újra adott forrás az adminisztrátor alól.

33. Minden esetre törölje a gyorsítótárat

valamint korlátozott jogokkal és hozzáféréssel rendelkező felhasználónk fájlrendszer létrehozva!

Nem mondom, hogy elég könnyű, de ha automatikusan csinálod, akkor nem tűnik nehéznek. Remélem sikerül! Sok sikert a projektekhez!

Egy cikk, amelyben megvizsgáljuk, hogyan MODX forradalom megszervezték a hozzáférési jogok rendszerét, valamint néhány tipikus utasítást a felhasználók engedélyeinek beállításához.

Hozzáférési jogosultsági rendszer MODX-ben

A MODX Revolution nem teszi lehetővé a jogok közvetlen hozzárendelését egy felhasználóhoz. Ebben a rendszerben ezt az akciót keresztül hajtják végre felhasználói csoportok.

Más szavakkal, ahhoz, hogy a felhasználónak bizonyos jogokat biztosítson, szükséges:

  • hozzon létre egy csoportot, és rendelje hozzá a szükséges jogosultságokat;
  • helyezzen egy vagy több felhasználót ebbe a csoportba.

De egy felhasználó jelenléte egy csoportban nem jelenti azt, hogy megkapja az összes jogosultságot. A felhasználó által megszerzett jogosultságokat a csoportban neki rendelt szerepkör határozza meg. Egy felhasználó szerepe (rangja) egy csoportban egy 0 és 9999 közötti számokkal határozható meg. Ez az érték határozza meg, hogy melyik felhasználó kap csoportjogosultságot, és melyik nem.

Más szavakkal szerep- ez egyfajta mechanizmus, amely lehetővé teszi a különböző felhasználók számára, hogy ugyanazon a csoporton belül különböző jogokat rendeljenek hozzá.

Nézzünk egy kis példát.


Ebben a példában:

  • Felhasználó Felhasználó 1 csoporthoz tartozik Csoport1... Megvannak azok a csoportjogosultságai, amelyek szerepe nagyobb. 2000 .
  • Felhasználó Felhasználó2 2 csoportból áll. 2 csoportos jogosultsággal rendelkezik. Az első csoportból ( Csoport1) rendelkezik azokkal a kiváltságokkal, amelyek szerepe nagyobb vagy egyenlő 1000 ... És a másodiktól ( 2. csoport) - azok a jogosultságok, amelyek szerepe nagyobb vagy egyenlő 9999 .
  • Felhasználó Felhasználó 3 a csoportban van 2. csoport... Ez a csoport megadja neki azokat a jogokat, amelyek szerepe nagyobb vagy egyenlő 5000 .

MODX hozzáférési szabályzat

A csoportjogosultságok létrehozása a MODX Revolutionban a használatával történik hozzáférési szabályzatok... Ez (hozzáférési szabályzat) egy csoporthoz van hozzárendelve meghatározott MODX entitásokhoz, nevezetesen kontextushoz, erőforráscsoporthoz, elemkategóriához, fájlforráshoz és névtérhez. Ezen kívül az is fel van tüntetve minimális szerepet amelyekre a csoport felhasználójának szüksége van ezekkel a jogosultságokkal.

Vegyünk egy képet.

Kiváltságok, amelyeket egy csoport felhasználói kapnak, attól függően, hogy mindegyikük milyen szerepet játszik abban

Ebben a példában:

  • Felhasználó Felhasználó 1(szerep a Group1 csoportban - 2000 ) rendelkezik a csoport összes jogosultságával Csoport1 akiknek a szerepe nagyobb vagy egyenlő, mint 2000. Azaz, ez K1, K2és G2.
  • Felhasználó Felhasználó2 a legmagasabb szerepe van a csoportban (0), és ezért minden kiváltsága ( K1, K2, D1és G2).
  • Felhasználó Felhasználó 3 van a csoportban Csoport1 legalacsonyabb szerep ( 9999 ). Ennek megfelelően a rendszerben ben meghatározott műveleteket hajthat végre K2és G2.

A hozzáférési szabályzat a felhasználónak biztosított jogok összessége, hogy műveleteket hajtsanak végre a CMS MODX Revolution által üzemeltetett webhelyen.

Miért így valósítják meg? Ez annak a ténynek köszönhető, hogy a MODX-ben sok jog van, és kényelmesebb csoportokban hozzárendelni őket (más szóval hozzáférési szabályzat segítségével), nem pedig egyenként.

Például hozzáférési szabályzat Betöltés, lista és megtekintése a következő engedélyekkel rendelkezik:

  • load (load objects);
  • lista (tárgygyűjtemény beszerzése);
  • nézet (objektumok megtekintése).

Hogyan hozhat létre saját hozzáférési szabályzatot

Egy felhasználói csoport engedélyeinek beállításakor nem korlátozódik a MODX rendszerben meglévő (előre telepített) házirendekre. Szükség esetén újakat is létrehozhat. A házirend létrehozása a MODX-ben a hozzáférési szabályzat sablon... Az Access Policy Template a MODX Revolution egy entitása, amely meghatározza a hozzáférési házirend létrehozásakor elérhető engedélyek maximális listáját.

Így annak érdekében hozzon létre hozzáférési szabályzatot a szükséges engedélyekkel szükséges:

  1. Keressen egy megfelelő hozzáférési szabályzat sablont (ha szükséges, szerkesszen egy meglévőt, vagy hozzon létre egy újat).
  2. Hozzon létre hozzáférési szabályzatot a megfelelő sablon kiválasztásával.
  3. A sablon által kínált engedélyek teljes listájából csak azokat vegye fel, amelyeket a felhasználóknak kíván adni (ha rendelkeznek ezzel a házirenddel).
Hogyan történik a hozzáférési szabályzat elérhető engedélyeinek halmazának meghatározása

Hozzáférési házirend létrehozásakor mindig a minimális számú jogosultság hozzárendelésével kezdje, amely elegendő ahhoz, hogy a felhasználó végrehajthasson bizonyos műveleteket a rendszerben. Ha szükséges, bármikor kiterjesztheti a felhasználónak adott engedélyeket.

Névtelen felhasználó

A MODX Revolutionben minden jogosulatlan webhelylátogató névtelen, és a csoporthoz tartozik. (névtelen)... Ezt egyszerűen ellenőrizheti, ha létrehozza a következő kódrészletet, felhívja azt az erőforrássablonban, majd megnyitja az oldalt.

Php kód a GetUser kódrészlethez:

user-> get ("felhasználónév");

Egy oldal részletének meghívása:

[[! GetUser]]

Munka eredménye:

(névtelen)

A névtelen felhasználók tevékenységét az oldalon a MODX-ben a csoportengedélyek beállítása szabályozza (névtelen)... Ha szükséges, további jogosultságokat adhat a csoportnak, vagy korlátozhatja azokat.

Tipikus utasítások az engedélyek beállításához

Ebben a részben azokat az utasításokat tekintjük át, amelyeket akkor használhat, ha:

  • korlátozza az anonim felhasználók hozzáférését bizonyos erőforrásokhoz;
  • hozzon létre egy tartalomkezelőt, akinek hozzáférést kell adni az erőforrásokkal való munkához az adminisztrációs panelen, valamint lehetővé kell tenni a képek feltöltését.

Bizonyos erőforrásokhoz való hozzáférés korlátozása

Vegyünk egy példát, amelyben korlátozzuk a névtelen felhasználók hozzáférését bizonyos erőforrásokhoz (például egy személyes fiókhoz, a „Jelszó módosítása” oldalhoz stb.). Csak regisztrált felhasználók számára biztosítunk hozzáférést ezekhez az erőforrásokhoz.

Ehhez a következőket kell tennie:

  1. Teremt a Felhasználók erőforráscsoport(Tartalom -> Erőforráscsoportok -> Erőforráscsoport létrehozása gomb). A megjelenő űrlapon írja be a "Név" mezőbe - Felhasználókés kattintson a "Mentés" gombra. Helyezze el benne a szükséges erőforrásokat (amelyekhez a névtelen látogatók hozzáférését korlátozni kell).
  2. Teremt a Felhasználók csoport(Ikon "Gear" -> Access control -> gomb "Új felhasználói csoport"). A megnyíló párbeszédpanelen írja be a "Név" mezőbe - Felhasználók, "Kontextusok" - web, "Háttérszabályzat" - (nincs szabályzat).
  3. Váltson át csoportszerkesztési módba (a Felhasználók helyi menüben válassza a „Felhasználói csoport szerkesztése” pontot).
  4. Nyissa meg a "Hozzáférési jogok" lapot, és azon a "Hozzáférés az erőforráscsoportokhoz" lehetőséget. Kattintson az "Erőforráscsoport hozzáadása" gombra, és töltse ki a megnyílt űrlapot ("Erőforráscsoport" - Csoport, "Kontextus" - (web), A minimális szerepkör az Tag (9999), "Hozzáférési szabályzat" - Betöltés, lista és megtekintése).

Ezt követően minden névtelen vagy más felhasználó (akinek nincs joga) megkapja 404 Forrás(mivel nincs is joga hozzá Betöltés), ha megpróbál megnyitni egy oldalt ebből a csoportból.

Ha azt szeretné, hogy az anonim felhasználók a védett oldalak megnyitásakor másnak továbbítsanak (például jogosultság), akkor ezen felül a következőket kell tennie (nevezetesen a jogot Betöltés ehhez az erőforráscsoporthoz):

  1. Nyisd ki rendszerbeállítások("fogaskerék" ikon -> Rendszerbeállítások). Válassza ki a "core" névteret, a "Site" részt. Paraméter keresése nem engedélyezett_oldal(Hiba 403. oldal: "Hozzáférés megtagadva"), és adja meg értékként - erőforrás azonosító amely tartalmazza az "Engedélyezés" űrlapot.
  2. Váltson csoportos szerkesztési módba (névtelen)... A "Hozzáférés az erőforráscsoportokhoz" szakaszban ("Hozzáférési jogok" lapon) adja hozzá a Felhasználók erőforráscsoportés állítsa be a szükséges jogokat (jelen esetben "Kontextus" - (web), A minimális szerepkör az Tag (9999), "Hozzáférési szabályzat" - Csak betöltés).
A Felhasználók erőforráscsoporthoz való hozzáférés konfigurálása névtelen felhasználók számára

A tartalomkezelő jogainak beállítása

Ebben a példában létrehozunk egy „Kezelők” csoportot, amelynek felhasználói képeket tölthetnek fel az adminisztrációs panel könyvtárába, és dolgozhatnak bizonyos erőforrásokkal.

Ehhez használhatja például a következő utasításokat:

1. Hozzon létre újat Menedzser hozzáférési szabályzat a szükséges jogokkal:

  • Nyissa meg a "Hozzáférés-vezérlés" oldalt (a "Fogaskerék" ikon -> Hozzáférés-vezérlés), és lépjen a "Hozzáférési szabályzat" fülre.
  • Készítsen másolatot a „Tartalomszerkesztő” szabályzatról.
  • Szerkessze meg a létrehozott másolatot, nevezetesen módosítsa a név mezőt Kezelőre, és jelölje be a könyvtár_lista, fájllista, fájlkezelő, fájl eltávolítása, fájlfa, fájlfeltöltés jogokkal szembeni négyzeteket. Ennek eredményeként a kezelői hozzáférési szabályzat 30 jogosultsággal fog rendelkezni. Ezt meg kell tenni annak érdekében, hogy a felhasználó jogosultságot kapjon a fájlokkal való munkavégzésre.
  • Kattintson a "Mentés" gombra.
Kezelői hozzáférési szabályzat konfigurációs űrlapja

2. Az adminisztrációs panelen rejtse el azokat az erőforrásokat, amelyekhez a vezetők nem férhetnek hozzá:

  • Nyissa meg az Erőforráscsoportok oldalt, és kattintson az Erőforráscsoport létrehozása gombra.
  • A megnyíló űrlapon írja be a "Név" - ClosedFor Managers, "Kontextusok" - mgrés Mark a "Hozzáférés automatikus engedélyezése az Adminisztrátor csoporthoz" opciót.
  • Kattintson a "Mentés" gombra.
  • Húzza át az erőforrásokat a létrehozott csoportba, amelyeket el kell rejteni a kezelők számára az adminisztrációs panelen.

3. Biztosítson hozzáférést ahhoz a könyvtárhoz, amelybe a felhasználó képeket tölt fel.

  • Nyissa meg a "Fájlforrások" oldalt, kattintson a "Létrehozás" gombra új forrás fájlok ".
  • A megnyíló űrlapon írja be a szöveget a "Név" mezőbe Képek, a "Leírásban" - Képek, a "Fájlforrás típusa" részben - Fájlrendszer.
  • Kattintson a "Mentés" gombra.
  • Szerkessze az újonnan létrehozott fájlok forrását (jobb egérgomb -> "Szerkesztés" művelet).
  • Módosítsa a paraméterek értékét: basePath - eszközök / képek /, baseUrl - eszközök / képek /, engedélyezett Fájltípusok - jpg, jpeg, png, gif.
  • Kattintson a "Mentés" gombra.
A képfájlok forrásának konfigurálása

A társított felhasználói csoporttal nem rendelkező fájlforrás elérhető lesz a háttérrendszer összes felhasználója számára. Ezért például, ha meg szeretné akadályozni, hogy a Kezelők csoport felhasználói olyan más fájlforrásokat mutassanak, amelyek nem egynél több csoporthoz vannak társítva, hozzárendelheti őket az Adminisztrátor felhasználói csoporthoz.

MODX – Fájlrendszer-forrás összekapcsolása az Adminisztrátor csoporttal

A fájlforrást használó MODX hozzáférés-vezérlő rendszer lehetővé teszi a különböző felhasználók számára, hogy meghatározott könyvtárakat állítsanak be, amelyekhez hozzáféréssel fognak rendelkezni, valamint meghatározhatják azokban a jogosultságaikat. Más szóval, ez egy olyan rendszer, amellyel például egyes felhasználók kaphatnak bizonyos katalógusokat, mások pedig másokat.

4. Hozzon létre új csoport felhasználókatés hozzárendeli a szükséges jogokat.

  • Nyissa meg a "Hozzáférés-vezérlés" oldalt, lépjen a "Felhasználói csoportok és felhasználók" fülre, kattintson az "Új felhasználói csoport" gombra.
  • A megnyíló párbeszédpanelen töltse ki a következő mezőket: "Név" - Menedzserek; "Leírás" - Menedzserek; "Kontextusok" - web, mgr; "Háttérszabályzat" - Menedzser.
  • Kattintson a "Mentés" gombra.
  • Váltson át az imént létrehozott "Kezelők" felhasználói csoport szerkesztési módjára (jobb gombbal kattintson a csoportra -> a helyi menü "Szerkesztés" elemére).
  • Lépjen a "Hozzáférési jogok" fülre.
  • Nyissa meg a "Kontextusokhoz való hozzáférés" részt. Kontextus hozzáférés web: "Minimális szerepkör" - Tag (9999); Hozzáférési szabályzat - Betöltés, lista és megtekintése... A kontextus elérése mgr: "Minimális szerepkör" - Tag (9999), Hozzáférési szabályzat - Menedzser.
  • A "Hozzáférés a fájlforráshoz" részben adjon hozzá egy új bejegyzést a következő értékekkel: "Forrás" - Képek; "Minimális szerep" - Tag (9999), "Hozzáférési szabályzat" - Médiaforrás Admin.
  • Kattintson a "Mentés" gombra

5. Hozzon létre felhasználóés adja hozzá a „Kezelõ” csoporthoz. Állítsa a szerepkör értékét 9999-re (tag). Ez a szerep elég lesz ahhoz, hogy megkapja a csoport összes engedélyét. Ez annak a ténynek köszönhető, hogy ehhez a csoporthoz nem rendeltünk hozzá hozzáférési szabályzatot, amelyhez 9999-nél nagyobb szerepkör kellene.

Felhasználó hozzáadása a menedzsercsoporthoz (tag szerepkör)

Üdvözlöm a WebHow blog minden olvasóját! Végül találtam egy remek beépülő modult a kód kiemelésére a cikkekben, és most már belevághatsz a komoly dolgokba. Szóval, viccet félretéve, ma egy durva poszt lesz azoknak, akik arról álmodoznak, hogy hirdetőtáblát, katalógust vagy bármilyen más szolgáltatást szervezzenek MODx oldalukon, ahová a látogatók maguk is posztolják tartalmaikat.

Aki legalább egy kicsit is járatos a MODx-ben, az tudja, hogy a tartalom közzétételéhez a felhasználónak hozzáféréssel kell rendelkeznie az adminisztrációs panelhez. Természetesen nem szeretném jobbról balra terjeszteni. Ezért meg kell győződnie arról, hogy a felhasználók közvetlenül a webhely oldalairól hozhatnak létre erőforrásokat és tölthetnek fel rájuk fájlokat.

Nem vagyok programozó, és amikor először üzenőfalat kellett létrehoznom a MODx-en, nem tudtam mást tenni, mint keresni egy kész megoldást. Jó néhány különböző kódrészlet-beállítás volt, amelyek lehetővé tették egy erőforrás közzétételét a MODx Revolution frontendjéről.

Az elv megközelítőleg mindenkinél ugyanaz: a FormIt segítségével egy űrlapot tartalmazó oldal jön létre, aminek a hívásakor a részlet neve be van írva. Minden hirdetéstípushoz saját TV-mezők jönnek létre, például város, telefon vagy egy mező a képek feltöltésére. Amikor a felhasználó elküldi az űrlapot, egy erőforrás jön létre.

Viszont szinte az összes snitt, amit sikerült megtalálnom, nagyon nehézkes volt: minden TV paramétert be kellett írni a kódrészletbe, és ez nekem nem jött be. Mert minden hirdetéstípushoz kitaláltam legalább 3 további mezőt, és mindegyiket bele kell írni a részletbe... nem, van jobb és egyszerűbb módszer. A hivatalos MODx.com fórum angol nyelvű részén találtam rá, és ha nem beszélsz és olvasol angolul jól, vagy csak lusta vagy a témában több közül is megfelelő lehetőséget keresni, megmondja, hogyan kell használni.

Lépésről lépésre videós bemutatót készítettem erről a témáról. Közvetlenül a lejátszó alatt megtalálsz hozzá minden anyagot.

Formit2resource kódrészlet

getObject ("modResource", array ("id" => $ hook-> getValue ("erőforrás_azonosító"))); if (üres ($ 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 mint $ mező => $ érték) (if ($ mező! == ​​"spam" && $ mező! == ​​"erőforrás_azonosító") ($ doc-> set ($ mező, $ érték);)) $ alias = $ doc-> cleanAlias ​​($ mezők ["oldalcím"]); if ($ modx-> getCount (modResource, array ("alias" => $ alias))! = 0) ($ count = 1; $ newAlias ​​= $ alias; while ($ modx-> getCount (modResource, tömb) (" alias "=> $ újAlias))! = 0) ($ újAlias ​​= $ alias; $ újAlias. =" - ". $ count; $ count ++;) $ alias = $ újAlias;) $ doc- > set (" alias " , $ alias); $ doc-> set ("sablon", $ sablon); $ doc-> mentés (); foreach ($ allFormFields mint $ mező => $ érték) (if (! üres ($ érték) && $ tv = $ modx-> getObject ("modTemplateVar", tömb ("név" => $ mező))) (/ * kezeli a jelölőnégyzeteket és többszörös elemeket választ ki * / if (is_array ($ érték)) ($ featureInsert = array (); while (lista ($ featureValue, $ featureItem) = mindegyik ($ érték)) ($ featureInsert = $ featureItem;) $ érték = implode ("||", $ featureInsert);) $ tv-> setValue ($ doc-> get ("id"), $ érték); $ tv-> mentés ();)) $ modx-> cacheManager -> frissítés (); return true;

Formit2file kódrészlet

user-> get ("id"); // A felhasználó által megadott elérési út a gyökértől // egyedi elérési út létrehozása ehhez az űrlap beküldéséhez $ uploadpath = "assets / uploads /".$ mydir." / "; // az egyedi mappa teljes elérési útja $ target_path = $ modx-> config ["base_path"]. $ feltöltési útvonal; // feltöltött fájlnevek lekérése: $ submitfiles = array_keys ($ _ FILES); // a foreach fájlok átfutása ($ submitfiles mint $ sf) (// Fájlnév lekérése, és győződjön meg róla, hogy jó. $ fájlnév = alapnév ($ _ FILES [$ sf] ["név"]); // A fájl kiterjesztésének lekérése $ ext = elérési út ($ fájlnév, PATHINFO_EXTENSION); $ ext = mb_strtolower ($ ext); // nem érzékeny a kis- és nagybetűkre // a fájlnév üres (nincs fájl feltöltve) if ($ fájlnév! = "") (// ez a megfelelő fájltípus? if (in_array ($ ext, $ ext_array)) (// tisztítsa meg a fájl nevét és tegye egyedivé $ fájlnév = $ számláló. ".". $ ext; $ fájlnév = str_replace ("", "_" , $ fájlnév); // szóköz az aláhúzásjelekhez $ fájlnév = dátum ("Ym-d_G-i-s_"). $ fájlnév; // dátum és idő hozzáadása // teljes elérési út az új fájlhoz $ myTarget = $ cél_útvonal [ ] [" tmp_name "], $ myTarget)) (// új helyőrző beállítása az új teljes elérési úttal (ha szüksége van rá a következő hoook-okban) $ myFile = $ feltölt pálya. $ fájlnév; $ hook-> setValue ($ sf, $ myFile); // állítsa be a fájl engedélyeit if (! chmod ($ myTarget, 0644)) (/ * valami hibakeresési funkció * /)) else (// A fájl nincs feltöltve $ errorMsg = "Hiba történt a fájl feltöltésekor."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // küldési hiba generálása)) else (// A fájltípus nem engedélyezett $ errorMsg = "A fájl típusa nem engedélyezett."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // küldési hiba generálása) // ha nincs fájl, ne "t error, de adj vissza üresen) else ($ hook-> setValue ($ sf," ");) $ számláló = $ számláló + 1;) return $ output;

Barátok! Ne felejtse el helyettesíteni a TV-mezőket és az erőforrások azonosítóit az űrlapkódban. Legyen óvatos, és sikerülni fog.

FormIt felhívása

[[! FormIt? & hooks = `formit2file, formit2resource, redirect` & redirectTo =` üzenetoldal azonosítója` & template = `hirdetéssablon azonosítója`]]

A darab formával való meghívásának feltétele

[[! + modx.user.id: is = `0`: then =` Hirdetés feladásához engedély szükséges [[! Loginza? & groups = `3` & profileFields =` felhasználónév, e-mail-cím, teljes név, fotó`]] `: else =` [[$ form_add]] `]]

Minta űrlapkód

[[+ fi.error.error_message]]

Név
[[+ fi.error.pagetitle]]
*
Város
[[+ fi.error.city]]
*

Részletes leírás

[[+ fi.error.content]]

Fényképek csatolása:

A katalógusban legfeljebb öt fényképet helyezhet el. Elfogadott formátumok: .jpg, .png, .gif
Fő fotó vagy logó * [[+ fi.error.img]]
További fotó (1) [[+ fi.error.foto1]]
Kiegészítő fotó (2) [[+ fi.error.foto2]]
Kiegészítő fotó (3) [[+ fi.error.foto3]]
További fotó (4) [[+ fi.error.foto4]]

A kép megjelenítésének feltétele

[[* img: notempty = '']]
Mostantól webhelyének felhasználói nem csak hirdetéseket tehetnek fel, hanem fotókkal is kiegészíthetik azokat, akárcsak bármely faliújságon. De mi van akkor, ha hibát követ el az űrlap kitöltése közben? Például egy személy pecsétet készített, és rossz telefonszámot adott meg, vagy esetleg csak egy hirdetést akart kiegészíteni, vagy megváltoztatni a terméke árát.

Legközelebb elmondom. És mára ennyi, remélem, ez a cikk hasznos volt számodra.