Modx revo ֆայլի աղբյուրի ստեղծում՝ վերբեռնմամբ։ MODx Revolution. ռեսուրսների ստեղծում և ֆայլերի բեռնում ճակատից

Evolution-ում ամեն ինչ բավականին պարզ էր. դուք իրավունքներ եք ստեղծում օգտվողի համար և վերջ: Եվ այստեղ դուք պետք է շատ քայլեր կատարեք, բայց մյուս կողմից `Modx Revolution-ում փաստաթղթերի և ֆայլերի իրավունքներով, կարող եք անել այն, ինչ ուզում եք (եթե, իհարկե, դուք դա չեք հասկանում): Դե ինչ, սկսենք։

1. Գնացեք «Անվտանգություն» - «Մուտքի վերահսկում» ադմինիստրատորի վահանակի վերևի ընտրացանկում

2. Գնացեք «Մուտքի քաղաքականություն» ներդիր

3. Սեղմեք «Ստեղծել մուտքի քաղաքականություն» կոճակը

Կբացվի պատուհան՝ դաշտերով: Անուն դաշտում գրում ենք «մենեջեր», մուտքի քաղաքականության կաղապարը՝ AdministratorTemplate։ Սեղմեք պահպանելու կոճակը

4. «Կառավարիչ» մուտքի քաղաքականությունը պահպանելուց հետո մենք տեսնում ենք, որ այն հայտնվել է մեր մուտքի քաղաքականության ցանկում

5. Խմբագրել մենեջեր

6. Հեռացրեք ավելորդ պարամետրերի վանդակները

Այս էջի ներքևում, որը բացվում է, կա ընտրանքների (թույլտվությունների) ցուցակ: Մենք պետք է հանենք այն պարամետրերը, որոնք պատասխանատու են ադմինիստրատորի վահանակում ցանկացած ռեսուրսների ցուցադրման համար, որպեսզի խուսափենք կայքի ճիշտ աշխատանքի համար անհրաժեշտ փաստաթղթերը, ֆայլերը, տարրերը խմբագրելուց կամ ջնջելուց:

Անջատեք վանդակները հետևյալ ընտրանքների համար.

  • access_permissions Ցուցադրել էջը օգտվողի մուտքի իրավունքի կարգավորումներով
  • վահանակներ Դիտեք և կառավարեք վահանակները
  • element_tree Տարրերի ծառը ձախ նավարկմամբ դիտելու ունակություն
  • menu_reports Ցուցադրել «Զեկույցները» վերևի ընտրացանկում
  • menu_security Ցուցադրել «Անվտանգություն» տարրը վերևի ընտրացանկում
  • menu_system Ցուցադրել «Համակարգ» տարրը վերևի ընտրացանկում
  • menu_tools Ցույց տալ «Գործիքներ» վերևի ընտրացանկում
  • new_static_resource Ստեղծել նոր ստատիկ ռեսուրսներ:
  • remove_locks Հեռացնել կայքի բոլոր կողպեքները

7. Գնացեք ներդիր «Անվտանգություն» - «Մուտքի վերահսկում» - «Դերեր»


8. Սեղմեք «Ստեղծել նոր» կոճակը, Անուն դաշտում, որը մենք վարում ենք Manager-ում, Rank՝ 9, սեղմեք «Պահպանել» կոճակը:


9. Պահպանեք փոփոխությունները և անցեք «Անվտանգություն» - «Մուտքի վերահսկում» - «Օգտատերերի խմբեր» մենյու:


Աջ սեղմեք «Ադմինիստրատոր» և կտտացրեք «Ստեղծել օգտվողների խումբ»

10. Ստեղծեք նոր խումբ՝ Անուն - Կառավարիչ, Backend քաղաքականություն - քաղաքականություն չկա, սեղմեք «Պահպանել»

11. Մենք այն գտնում ենք Օգտագործողների խմբերի ցանկում և սեղմում «խմբագրել»

12. Գնացեք «Access to contexts» մենյու և սեղմեք «Ավելացնել համատեքստ»

13. Համատեքստ - mgr, Նվազագույն դեր - Կառավարիչ - 9, Մուտքի քաղաքականություն - Կառավարիչ

14. Մեկ այլ համատեքստ ավելացնելով

Ավելի ճիշտ՝ խմբագրում ենք գոյություն ունեցող վեբը՝ Համատեքստ - վեբ, Նվազագույն դեր - Կառավարիչ - 9, Մուտքի քաղաքականություն - Ադմինիստրատոր։ Սեղմեք «Պահպանել» կոճակը

15. Մենք կտեսնենք այսպիսի նկար. Մենք ամեն ինչ պահում ենք «Օգտվողի խումբ. կառավարիչ» ներդիրում

16. Հաջորդը՝ «Անվտանգություն» - «Օգտատիրոջ կառավարում»

17. Ստեղծեք նոր օգտվող (սա կլինի մեր հաճախորդը) - սեղմեք «Նոր օգտվող» կոճակը:

Դուք կարող եք նրան ցանկացած անուն տալ, ես նրան կանվանեմ մենեջեր

18. Օգտվողի անունը - մենեջեր, սեղմեք վանդակը - Ակտիվ, քշել էլ

19. Նշեք գաղտնաբառ

20. Նախքան պահպանելը, անցեք «Թույլտվություններ» ներդիրին

21. Սեղմեք «Ավելացնել օգտվողին խմբին» կոճակը, Օգտատերերի խումբը՝ «Մենեջեր», Դերը՝ «Մենեջեր»

Մենք խնայում ենք. Սա ավարտում է ադմինիստրատորի վահանակի ստեղծումը, որտեղ հաճախորդը մուտք ունի միայն փաստաթղթերի ծառի էջեր խմբագրելու և ստեղծելու համար: Բայց այս օգտվողը դեռևս հասանելի է բոլոր համակարգի ֆայլերին: Եվ այսպես, մենք հիմա այնպես կանենք, որ նա մուտք ունենա միայն մեկ թղթապանակ, որը մենք կստեղծենք Modx Revolution կայքի արմատում:

22. Գնացեք ներդիր «Գործիքներ» - «Ֆայլի աղբյուրներ»

23. Կբացվի բոլոր ֆայլերի աղբյուրների ցանկը: Լռելյայնորեն ստեղծվում է միայն մեկը՝ Ֆայլային համակարգ

Նախքան նոր ֆայլի աղբյուր ստեղծելը, նախ պետք է փոփոխել այս մեկը: Մկնիկի աջ կոճակով սեղմեք «Ֆայլային համակարգ» և ընտրեք «Խմբագրել»:

24. Կբացվի այսպիսի պատուհան։ Կտտացրեք «Ավելացնել օգտվողների խումբ»

25. Օգտատերերի խմբեր - Ադմինիստրատոր, Նվազագույն դեր - Super User - 0, Քաղաքականություն - Media Source Admin. Սեղմեք «Պահպանել»

26. Վերադարձեք Ֆայլի աղբյուրներ և ստեղծեք նոր ֆայլի աղբյուր

Եկեք այն անվանենք «Մենեջեր», Ֆայլի աղբյուր Tim - Ֆայլային համակարգ

27. Աջ սեղմեք ֆայլի նոր աղբյուրի «Manager» վրա և ընտրեք «Edit»

28. Այդպիսի պատուհան կբացվի. Մենք պետք է փոխենք առաջին 4 պարամետրերը

BasePath-ում արժեքի դաշտում մենք մուտք ենք գործում /մենեջեր/, basePathRelative և baseUrlRelative թողնում ենք այնպես, ինչպես կա «Այո» արժեքներով, baseUrl դաշտում մենք գրում ենք. մենեջեր/

29. Անցեք հեռուստացույցի պարամետրին

30. Կտտացրեք «Ֆայլի աղբյուրներ» վերջին ներդիրին

և փոխեք ֆայլի աղբյուրը «Filesystem»-ից «Manager»-ի: Պահպանե՛ք

31. Ավելացրեք օգտվողների խումբ «Մենեջեր»-ին

Այժմ, կատարված բոլոր քայլերից հետո, գնացեք «Ֆայլի աղբյուր» - «Կառավարիչ» և ավելացրեք օգտվողների խումբ այս ֆայլի աղբյուրին:

32. Օգտագործողների խմբեր - Կառավարիչ, Նվազագույն դեր - Կառավարիչ - 9, Քաղաքականություն - Մեդիա Աղբյուր Ադմին. Սեղմեք «Պահպանել»

Պահելուց անմիջապես հետո «Մենեջեր» ֆայլի աղբյուրը կվերանա ադմինիստրատորի համար։ Որպեսզի կարողանաք խմբագրել այս ֆայլի աղբյուրը, դուք պետք է գնաք «Անվտանգություն - մուտքի վերահսկում» ընտրացանկը: Բացեք կառավարչի խումբը խմբագրման համար. Կառավարիչ և «Ֆայլի աղբյուրներ» ներդիրում գտեք և ջնջեք աղբյուրի կառավարիչը: Միայն դրանից հետո կարող ենք նորից խմբագրել տրված աղբյուրըադմինիստրատորի տակից։

33. Ամեն դեպքում մաքրեք քեշը

և սահմանափակ իրավունքներով և հասանելիությամբ մեր օգտվողը ֆայլային համակարգստեղծված!

Չեմ ասի, որ դա բավական հեշտ է, բայց եթե դա անես ինքնաբերաբար, ապա դժվար բան չի թվա: Հուսով եմ, որ ամեն ինչ ստացվեց ձեզ մոտ: Հաջողություն ձեր նախագծերում:

Հոդված, որը նայում է, թե ինչպես MODX հեղափոխությունկազմակերպվում է մուտքի իրավունքի համակարգ, ինչպես նաև օգտատերերի համար թույլտվություններ սահմանելու որոշ բնորոշ հրահանգներ:

Թույլտվությունների համակարգ MODX-ում

MODX Revolution-ը թույլ չի տալիս ուղղակիորեն թույլտվություններ տրամադրել օգտվողին: Այս համակարգում այս գործողությունըմիջոցով օգտագործողների խմբեր.

Այսինքն՝ օգտագործողին որոշակի իրավունքներ տրամադրելու համար անհրաժեշտ է.

  • ստեղծել խումբ և նրան տրամադրել անհրաժեշտ արտոնություններ.
  • տեղադրել մեկ կամ մի քանի օգտվողների այս խմբում:

Բայց խմբում օգտատեր լինելը չի ​​նշանակում, որ նա կստանա դրա բոլոր արտոնությունները։ Այն իրավունքները, որոնք օգտատերը կստանա, կորոշվեն այս խմբում իրեն վերապահված դերով:Խմբում օգտատիրոջ դերը (աստիճանը) սահմանվում է 0-ից մինչև 9999 թվի միջոցով: Այս արժեքը որոշում է, թե որ օգտվողը կստանա խմբի արտոնություններ, իսկ որոնք՝ ոչ:

Այլ կերպ ասած դերը- սա մի տեսակ մեխանիզմ է, որը թույլ է տալիս տարբեր իրավունքներ վերագրել նույն խմբի տարբեր օգտվողներին:

Եկեք մի փոքր օրինակ բերենք.


Այս օրինակում.

  • Օգտատեր Օգտվող 1պատկանում է խմբին Խումբ 1. Այն ունի այն խմբային արտոնությունները, որոնց դերն ավելի շատ է 2000 .
  • Օգտատեր Օգտվող 2 2 խմբով է. Այն ունի 2 խմբային արտոնություններ. Առաջին խմբից Խումբ 1) այն ունի այն արտոնությունները, որոնց դերը մեծ է կամ հավասար է 1000 . Եվ երկրորդից ( խումբ 2) - այն արտոնությունները, որոնց դերը մեծ է կամ հավասար է 9999 .
  • Օգտատեր Օգտվող 3խմբում է խումբ 2. Այս խումբը նրան տալիս է այն իրավունքները, որոնց դերը մեծ է կամ հավասար է 5000 .

Մուտքի քաղաքականություն MODX-ում

MODX Revolution-ում խմբի համար արտոնություններ սահմանելը կատարվում է օգտագործելով մուտքի քաղաքականություն. Այն (մուտքի քաղաքականությունը) վերագրվում է խմբին՝ կապված որոշակի MODX սուբյեկտների, մասնավորապես՝ համատեքստի, ռեսուրսների խմբի, տարրի կատեգորիայի, ֆայլի աղբյուրի և անվանատարածքի հետ: Բացի այդ, դա նաև ցույց է տալիս նվազագույն դեր, որն այս խմբի օգտատերը պետք է ունենա այս արտոնությունները:

Դիտարկենք պատկեր:

Արտոնություններ, որոնք ստանում են խմբի օգտատերերը՝ կախված նրանից, թե նրանցից յուրաքանչյուրը ինչ դեր է խաղում դրանում

Այս օրինակում.

  • Օգտատեր Օգտվող 1(դերը 1-ին խմբում - 2000 ) ունի խմբի բոլոր արտոնությունները Խումբ 1, որի դերը մեծ է կամ հավասար է 2000-ին: Այսինքն. սա K1, K2Եվ G2.
  • Օգտատեր Օգտվող 2ունի ամենաբարձր դերը խմբում (0) և հետևաբար նրա բոլոր արտոնությունները ( K1, K2, G1Եվ G2).
  • Օգտատեր Օգտվող 3ունի խմբում Խումբ 1ամենացածր դերը 9999 ): Դրան համապատասխան նա կարող է գործողություններ կատարել համակարգում սահմանված K2Եվ G2.

Մուտքի քաղաքականությունը մի շարք իրավունքներ է, որոնք տրված են օգտվողին CMS MODX Revolution-ով աշխատող կայքում գործողություններ կատարելու համար:

Ինչու՞ է այն իրականացվում այսպես. Դա պայմանավորված է նրանով, որ MODX-ում շատ իրավունքներ կան, և ավելի հարմար է դրանք նշանակել խմբերով (այլ կերպ ասած՝ օգտագործելով մուտքի քաղաքականությունը), այլ ոչ թե մեկ առ մեկ:

Օրինակ՝ մուտքի քաղաքականությունը Բեռնել, ցուցակագրել և դիտելունի հետևյալ թույլտվությունների փաթեթը.

  • բեռ (բեռի առարկաներ);
  • ցուցակ (ստացեք օբյեկտների հավաքածու);
  • դիտել (դիտել օբյեկտները):

Ինչպես ստեղծել ձեր սեփական մուտքի քաղաքականությունը

Մի խումբ օգտվողների համար թույլտվություններ սահմանելիս դուք չեք սահմանափակվում MODX համակարգում առկա (նախապես տեղադրված) քաղաքականությամբ: Անհրաժեշտության դեպքում կարող եք ստեղծել նորերը: MODX-ում քաղաքականության ստեղծումը հիմնված է մուտք գործել քաղաքականության ձևանմուշ. Մուտքի քաղաքականության ձևանմուշը MODX Revolution միավոր է, որը սահմանում է մուտքի քաղաքականության ստեղծման ժամանակ հասանելի թույլտվությունների առավելագույն ցանկը:

Այսպիսով, որպեսզի ստեղծել մուտքի քաղաքականություն պահանջվող թույլտվություններովանհրաժեշտ:

  1. Գտեք մուտքի քաղաքականության համապատասխան ձևանմուշ (անհրաժեշտության դեպքում խմբագրեք գոյություն ունեցողը կամ ստեղծեք նորը):
  2. Ստեղծեք մուտքի քաղաքականություն՝ ընտրելով համապատասխան ձևանմուշը:
  3. Կաղապարի կողմից առաջարկվող թույլտվությունների ամբողջ ցանկից ներառեք միայն նրանք, որոնք ցանկանում եք տրամադրել օգտատերերին (եթե նրանք կունենան այս քաղաքականությունը):
Ինչպես է որոշվում հասանելի մուտքի քաղաքականության թույլտվությունների փաթեթը

Մուտքի քաղաքականություն ստեղծելիս միշտ սկսեք հատկացնելով նվազագույն թվով իրավունքները, որոնք անհրաժեշտ են օգտվողին համակարգում որոշակի գործողություններ կատարելու համար: Անհրաժեշտության դեպքում, դուք միշտ կարող եք ընդլայնել օգտվողին տրված թույլտվությունները:

Անանուն օգտվող

MODX Revolution-ում կայքի ցանկացած չարտոնված այցելու անանուն է և պատկանում է խմբին (անանուն). Դուք կարող եք հեշտությամբ հաստատել դա, եթե ստեղծեք հետևյալ հատվածը, տեղադրեք դրա զանգը ռեսուրսի ձևանմուշում և բացեք էջը:

Php հատվածի կոդը GetUser.

user->get("username");

Էջի վրա հատվածի կանչում.

[[!GetUser]]

Աշխատանքի արդյունք.

(անանուն)

MODX-ում կայքում անանուն օգտատերերի գործողությունները կարգավորվում են խմբի թույլտվությունների սահմանմամբ (անանուն). Անհրաժեշտության դեպքում դուք կարող եք այս խմբին տալ լրացուցիչ արտոնություններ կամ սահմանափակել դրանք:

Թույլտվությունները սահմանելու բնորոշ ցուցումներ

Այս բաժնում մենք կանդրադառնանք հրահանգներին, որոնք կարող եք օգտագործել, երբ ձեզ անհրաժեշտ է.

  • սահմանափակել մուտքը որոշակի ռեսուրսներ անանուն օգտվողների համար.
  • ստեղծել բովանդակության մենեջեր, որին պետք է հնարավորություն տրվի աշխատելու ռեսուրսների հետ ադմինիստրատորի վահանակում, ինչպես նաև նկարներ վերբեռնելու հնարավորություն:

Որոշակի ռեսուրսների հասանելիության սահմանափակում

Դիտարկենք մի օրինակ, որտեղ մենք սահմանափակում ենք անանուն օգտատերերի մուտքը որոշակի ռեսուրսներ (օրինակ՝ անձնական հաշիվ, «Փոխել գաղտնաբառը» էջը և այլն): Այս ռեսուրսների հասանելիությունը կտրամադրվի միայն գրանցված օգտատերերին:

Դա անելու համար ձեզ հարկավոր է.

  1. Ստեղծել ռեսուրսների խումբ Users(Բովանդակություն -> Ռեսուրսների խմբեր -> «Ստեղծել ռեսուրսների խումբ» կոճակը): Հայտնվող ձևում մուտքագրեք «Անուն» դաշտում. Օգտատերերև սեղմեք «Պահպանել» կոճակը: Ներդրեք դրա մեջ անհրաժեշտ ռեսուրսները (մուտքը, որին ցանկանում եք սահմանափակել անանուն այցելուների համար):
  2. Ստեղծել օգտվողների խումբ Users(Փոխանցման պատկերակ -> Մուտքի վերահսկում -> Նոր օգտվողների խումբ կոճակ): Բացվող երկխոսության վանդակում մուտքագրեք «Անուն» դաշտում. Օգտատերեր, «Համատեքստեր» - վեբ, «Backend Policies» - (ոչ մի քաղաքականություն).
  3. Անցեք խմբի խմբագրման ռեժիմին (Օգտատերերի համատեքստում ընտրեք «Խմբագրել օգտվողների խումբ» կետը):
  4. Բացեք «Թույլտվություններ» ներդիրը և դրա մեջ «Մուտք ռեսուրսների խմբերին»: Կտտացրեք «Ավելացնել ռեսուրսների խումբ» կոճակը և լրացրեք բացվող ձևը («Պաշարների խումբ» - խումբ, «Համատեքստ» - (վեբ), Նվազագույն դերն է Անդամ (9999), «Մուտքի քաղաքականություն» - Բեռնել, ցուցակագրել և դիտել).

Դրանից հետո ցանկացած անանուն կամ այլ օգտվող (ով իրավունք չունի) կստանա 404 ռեսուրս(որովհետև նա նույնիսկ իրավունք չունի ծանրաբեռնվածություն) եթե նա փորձի այս խմբից ինչ-որ էջ բացել:

Եթե ​​ցանկանում եք, որ անանուն օգտատերերը պաշտպանված էջերը բացելիս ուղարկվեն ուրիշներին (օրինակ՝ թույլտվություն), ապա դուք պետք է լրացուցիչ կատարեք հետևյալը (այսինքն՝ իրավունք տալ. ծանրաբեռնվածությունայս ռեսուրսների խմբի համար):

  1. Բաց համակարգի կարգավորումները(Փոխանցման պատկերակ -> Համակարգի կարգավորումներ): Ընտրեք «հիմնական» անվանատարածքը, «Կայք» բաժինը: Գտեք պարամետրը unautorized_page(Սխալ էջ 403 «Մուտքն արգելված է») և նշեք որպես արժեք - ռեսուրսի ID, որը պարունակում է «Լիցենզավորում» ձևաթուղթը։
  2. Անցեք խմբի խմբագրման ռեժիմին (անանուն). «Մուտք ռեսուրսների խմբերին» բաժնում (ներդիր «Թույլտվություններ») ավելացրեք ռեսուրսների խումբ Usersև սահմանել դրա համար անհրաժեշտ իրավունքները (այս դեպքում՝ «Համատեքստ» - (վեբ), Նվազագույն դերն է Անդամ (9999), «Մուտքի քաղաքականություն» - Միայն բեռնել).
Անանուն օգտվողների համար օգտվողների ռեսուրսների խմբի մուտքի կարգավորում

Բովանդակության կառավարչի համար թույլտվությունների կարգավորում

Այս օրինակում մենք կստեղծենք «Մենեջերներ» խումբ, որի օգտատերերը կկարողանան պատկերներ վերբեռնել ադմինիստրատորի վահանակի գրացուցակում և աշխատել որոշակի ռեսուրսների հետ:

Դա անելու համար կարող եք, օրինակ, օգտագործել հետևյալ հրահանգը.

1. Ստեղծեք նորը մուտքի քաղաքականության կառավարիչանհրաժեշտ իրավունքներով.

  • Բացեք «Access Control» էջը («Gear» պատկերակը -> Access Control) և անցեք «Access Policy» ներդիրին:
  • Կատարեք «Բովանդակության խմբագիր» քաղաքականության պատճենը:
  • Խմբագրեք ստեղծված պատճենը, այն է՝ անվանման դաշտը փոխեք Կառավարիչի և նշեք իրավունքները directory_list, file_list, file_manager, file_remove, file_tree, file_upload կողքին գտնվող վանդակները: Արդյունքում, Կառավարչի մուտքի քաղաքականությունը կունենա 30 թույլտվություն: Դա պետք է արվի, որպեսզի օգտագործողին տրվեն ֆայլերի հետ աշխատելու իրավունքներ:
  • Սեղմեք «Պահպանել» կոճակը:
Կառավարչի մուտքի քաղաքականության կարգավորման ձևը

2. Թաքցնել ռեսուրսները, որոնց կառավարիչները չպետք է մուտք ունենան ադմինիստրատորի վահանակում.

  • Բացեք ռեսուրսների խմբերի էջը և սեղմեք «Ստեղծել ռեսուրսների խումբ» կոճակը:
  • Բացվող ձևում մուտքագրեք «Անուն» - Փակված Կառավարիչների համար, «Համատեքստեր» - մգռԵվ նշագծել«Ավտոմատ կերպով մուտք գործել Ադմինիստրատորի խումբ» տարբերակը:
  • Սեղմեք «Պահպանել» կոճակը:
  • Քաշեք ստեղծված խումբ այն ռեսուրսները, որոնք պետք է թաքցվեն կառավարիչների համար ադմինիստրատորի վահանակում:

3. Տրամադրեք մուտք դեպի գրացուցակ, որտեղ օգտատերը կվերբեռնի նկարներ:

  • Բացեք «Ֆայլի աղբյուրներ» էջը, սեղմեք «Ստեղծել նոր աղբյուրֆայլեր»:
  • Բացվող ձևում մուտքագրեք տեքստը «Անուն» դաշտում պատկերներ, «Նկարագրություն»-ում - Պատկերներ, «Ֆայլի աղբյուրի տեսակը» - Ֆայլային համակարգ.
  • Սեղմեք «Պահպանել» կոճակը:
  • Խմբագրել նոր ստեղծված ֆայլի աղբյուրը (մկնիկի աջ կոճակը -> Խմբագրել գործողությունը):
  • Փոխեք պարամետրերի արժեքը՝ basePath - ակտիվներ/պատկերներ/, baseUrl - ակտիվներ/պատկերներ/, թույլատրված FileTypes - jpg, jpeg, png, gif.
  • Սեղմեք «Պահպանել» կոճակը:
Պատկերների ֆայլի աղբյուրի կարգավորում

Ֆայլի աղբյուրը, որը չունի դրա հետ կապված օգտատերերի խումբ, հասանելի կլինի բոլոր հետին պլանային օգտվողներին: Հետևաբար, Մենեջերների խմբի օգտատերերին թույլ չտալու համար ցուցադրել այլ ֆայլերի աղբյուրներ, որոնք կապված չեն մեկից ավելի խմբերի հետ, նրանք, օրինակ, կարող են վերագրվել Ադմինիստրատոր օգտվողների խմբին:

MODX - Ֆայլային համակարգի ֆայլի աղբյուրի կապակցում ադմինիստրատորների խմբի հետ

MODX մուտքի վերահսկման համակարգը, օգտագործելով ֆայլերի աղբյուրը, թույլ է տալիս տարբեր օգտվողներին նշել որոշակի դիրեկտորիաներ, որոնց մուտք կունենան, ինչպես նաև որոշել դրանցում իրենց արտոնությունների փաթեթը: Այսինքն, դա մի համակարգ է, որը, օրինակ, կարող է օգտագործվել որոշ օգտատերերի որոշ դիրեկտորիաներ տալու համար, իսկ մյուսներին՝ մյուսներին։

4. Ստեղծել նոր խումբօգտվողներև դրան վերագրել անհրաժեշտ իրավունքները։

  • Բացեք «Access Control» էջը, անցեք «User Groups & Users» ներդիր, սեղմեք «New User Group» կոճակը:
  • Բացվող երկխոսության վանդակում լրացրեք հետևյալ դաշտերը՝ «Անուն». մենեջերներ; «Նկարագրություն» - Մենեջերներ; «Համատեքստեր» - վեբ, մգռ; «Հետին պլանի քաղաքականություն» - մենեջեր.
  • Սեղմեք «Պահպանել» կոճակը:
  • Անցեք «Մենեջեր» օգտատերերի նորաստեղծ խմբի խմբագրման ռեժիմին («Խմբագրել» համատեքստի ընտրացանկում աջ սեղմեք խմբի -> կետի վրա):
  • Գնացեք «Թույլտվություններ» ներդիր:
  • Բացեք «Մուտք դեպի համատեքստեր» բաժինը: Համատեքստի մուտք վեբ«Նվազագույն դեր» - Անդամ (9999); Մուտքի քաղաքականություն - Բեռնել, ցուցակագրել և դիտել. Համատեքստի մուտք մգռ«Նվազագույն դեր» - Անդամ (9999), Մուտքի քաղաքականություն - մենեջեր.
  • «Ֆայլի աղբյուրի հասանելիություն» բաժնում ավելացրեք նոր գրառում հետևյալ արժեքներով. «Աղբյուր» - պատկերներ; «Նվազագույն դեր» - Անդամ (9999), «Մուտքի քաղաքականություն» - Մեդիա Աղբյուր Ադմին.
  • Սեղմեք «Պահպանել» կոճակը

5. Ստեղծել օգտագործողև ավելացրեք այն «Մենեջեր» խմբին: Դերի արժեքը սահմանեք 9999 (անդամ): Այս դերը նրան բավական կլինի այս խմբի բոլոր թույլտվությունները ստանալու համար։ Դա պայմանավորված է նրանով, որ այս խմբի համար մենք չենք նշանակել մուտքի քաղաքականություն, որը կպահանջի ավելի մեծ դեր, քան 9999-ը:

Օգտատիրոջ ավելացում Կառավարիչ խմբում (անդամի դեր)

Բարի երեկո WebHow բլոգի բոլոր ընթերցողներին: Ես վերջապես գտա մի հիանալի հոդվածի կոդը, որն ընդգծում է պլագին, և այժմ կարող եմ լուրջ գործի անցնել: Այսպիսով, կատակները մի կողմ, այսօր խիստ գրառում կլինի նրանց համար, ովքեր երազում են իրենց MODx կայքում կազմակերպել տեղեկատու, կատալոգ կամ որևէ այլ ծառայություն, որտեղ այցելուներն իրենք կտեղադրեն իրենց բովանդակությունը։

Ամեն ոք, ով գոնե մի փոքր ծանոթ է MODx-ին, գիտի, որ բովանդակություն տեղադրելու համար օգտատերը պետք է մուտք ունենա ադմինիստրատորի վահանակ։ Իհարկե, դուք չեք ցանկանում այն ​​բաժանել աջ ու ձախ: Ուստի անհրաժեշտ է համոզվել, որ օգտատերերը կարող են ստեղծել ռեսուրսներ և ֆայլեր վերբեռնել նրանց վրա անմիջապես կայքի էջերից։

Ես ծրագրավորող չեմ, և երբ ես առաջին անգամ ստիպված էի ստեղծել հաղորդագրությունների տախտակ MODx-ում, ինձ մնում էր միայն պատրաստի լուծում փնտրել: Կային մի քանի տարբեր տարբերակներ մի հատվածի համար, որը թույլ կտա հրապարակել ռեսուրս ճակատից MODx Revolution-ի համար:

Սկզբունքը մոտավորապես նույնն է բոլորի համար՝ FormIt-ի օգնությամբ ստեղծվում է ձևով էջ, որի կանչում գրված է հատվածի անունը։ Գովազդի յուրաքանչյուր տեսակ ունի իր սեփական հեռուստատեսային դաշտերը, օրինակ՝ քաղաք, հեռախոսահամար կամ պատկերներ վերբեռնելու դաշտ: Երբ օգտվողը ներկայացնում է ձևը, ռեսուրսը ստեղծվում է:

Այնուամենայնիվ, գրեթե բոլոր հատվածները, որոնք ես կարողացա գտնել, շատ ծանր էին. հեռուստացույցի յուրաքանչյուր պարամետր պետք է գրվեր հատվածի կոդում, և դա ինձ չէր համապատասխանում: Որովհետև յուրաքանչյուր տեսակի գովազդի համար ես մտահղացել եմ առնվազն 3 լրացուցիչ դաշտ, և բոլորը գրել եմ մի հատվածով... ոչ, կա ավելի լավ և հեշտ ճանապարհ: Այն գտնվել է իմ կողմից MODx.com պաշտոնական ֆորումի անգլերեն մասում: Եվ եթե դուք շատ լավ չեք խոսում և կարդում անգլերեն կամ պարզապես ծույլ եք թեմայում մի քանիսից հարմար տարբերակ փնտրելու համար, ես ձեզ կասեմ, թե ինչպես օգտագործել այն։

Այս թեմայով ես ձայնագրեցի քայլ առ քայլ վիդեո հրահանգ: Դուք կգտնեք դրա համար նախատեսված բոլոր նյութերը հենց նվագարկիչի տակ:

կոդի հատված formit2resource

getObject("modResource",array("id"=>$hook->getValue("resource_id"))); if (դատարկ ($doc)) ($doc = $modx->newObject ("modResource"); $doc->set ("createdby", $modx->user->get ("id")); ) այլ կերպ ( $doc->set("editedby", $modx->user->get("id")); ) $allFormFields = $hook->getValues(); foreach ($allFormFields որպես $field=>$value) (եթե ($field !== "spam" && $field !== "resource_id") ($doc->set ($field, $value); ) ) $ alias = $doc->cleanAlias($fields["pagetitle"]); if($modx->getCount(modResource, array("alias"=>$alias))!= 0) ($count = 1; $newAlias ​​= $alias; while($modx->getCount(modResource, զանգված (" alias"=>$newAlias))!= 0) ( $newAlias ​​= $alias; $newAlias ​​.= "-" . $count; $count++; ) $alias = $newAlias; ) $doc- >set("alias" ,$alias); $doc->set ("կաղապար", $template); $doc->save(); foreach ($allFormFields որպես $field=>$value) (եթե (!empty($value) && $tv = $modx->getObject("modTemplateVar", զանգված ("name"=>$field))) ( /* կարգավորում է վանդակները և ընտրում է մի քանի տարրեր */ if (is_array($value)) ($featureInsert = array(); while (list($featureValue, $featureItem) = յուրաքանչյուրը ($value)) ( $featureInsert = $featureItem; ) $ value = implode("||",$featureInsert); ) $tv->setValue($doc->get("id"), $value); $tv->save(); ) ) $modx- >cacheManager ->թարմացնել(); վերադառնալ ճշմարիտ;

հատվածի կոդը formit2file

user->get("id"); // Ուղին արմատից, որը օգտատերը նշում է // ստեղծել եզակի ուղի այս ձևի ներկայացման համար $uploadpath = "assets/uploads/".$mydir."/"; // ստանալ ամբողջական ուղին դեպի եզակի թղթապանակ $target_path = $modx->config["base_path"]: $uploadpath; // ստանալ վերբեռնված ֆայլերի անունները. $submittedfiles = array_keys($_FILES); // պտտել ֆայլերի միջով foreach ($submittedfiles որպես $sf) ( // Ստացեք ֆայլի անունը և համոզվեք, որ այն լավ է: $filename = բազային անուն ($_FILES[$sf]["name"]); // Ստացեք ֆայլի ընդլայնում $ ext = pathinfo ($filename, PATHINFO_EXTENSION); $ext = mb_strtolower ($ext); // մեծատառերի նկատմամբ զգայուն չէ // ֆայլի անունը դատարկ է (ֆայլ չի վերբեռնվել) if ($filename != "") ( // է սա ֆայլի ճիշտ տեսակն է: if(in_array($ext, $ext_array)) ( // մաքրել ֆայլի անունը և ստեղծել եզակի $filename = $counter . "." . $ext; $filename = str_replace(" ", " _" , $filename); // բացատներ $filename = date("Ym-d_G-i-s_") . $filename; // ավելացնել ամսաթիվ և ժամը // նոր ֆայլի ամբողջական ուղի $myTarget = $target_path: $filename; // ստեղծել գրացուցակ՝ ֆայլը տեղափոխելու համար, եթե այն գոյություն չունի, mkdir ($target_path, 0755, true); «tmp_name»], $myTarget)) ( // սահմանեք նոր տեղապահ նոր ամբողջական ուղով (եթե այն ձեզ անհրաժեշտ է հաջորդ կեռիկներում) $myFile = $upload ուղին. $ ֆայլի անուն; $ hook->setValue ($sf, $myFile); // սահմանել թույլտվությունները ֆայլի վրա, if (!chmod($myTarget, 0644)) ( /*որոշ վրիպազերծման ֆունկցիա*/ ) ) else ( // Ֆայլը վերբեռնված չէ $errorMsg = "Ֆայլը վերբեռնելիս խնդիր կար։"; $hook->addError($sf, $errorMsg); $output = կեղծ; // առաջացնել ներկայացման սխալ ) ) else ( // Ֆայլի տեսակը չի թույլատրվում $errorMsg = "Ֆայլի տեսակը չի թույլատրվում."; $hook->addError ($sf, $errorMsg); $output = կեղծ; // առաջացնել ներկայացման սխալ ) // եթե ֆայլ չկա, սխալ մի՛ արեք, բայց վերադարձրեք դատարկը) այլ կերպ ($hook->setValue($sf, ""); ) $counter = $counter + 1;) վերադարձնել $output;

Ընկերներ! Մի մոռացեք ձեր հեռուստատեսային դաշտերը և ձեր ռեսուրսների ID-ները փոխարինել ձևի կոդով: Զգույշ եղեք և հաջողության կհասնեք։

Զանգահարեք FormIt-ին

[[!FormIt? &hooks=`formit2file,formit2resource, redirect` &redirectTo=`հաղորդագրությունը պարունակող էջի ID` &template=`Գովազդի ձևանմուշի ID` ]]

Ձևաթղթով կտոր կանչելու պայման

[[!+modx.user.id:is=`0`:then=`Գովազդ տեղադրելու համար անհրաժեշտ է լիազորություն [[!Loginza? &groups=`3` &profileFields=`օգտանուն, էլ. փոստ, լրիվ անուն, լուսանկար`]]`:else=`[[$form_add]]`]]

Ձևի կոդի օրինակ

[[+fi.error.error_message]]

Անուն
[[+fi.error.pagetitle]]
*
Քաղաք
[[+fi.error.city]]
*

Մանրամասն նկարագրություն

[[+fi.error.content]]

Կցել լուսանկարներ.

Կատալոգում կարող եք տեղադրել մինչև հինգ լուսանկար: Ընդունված ձևաչափեր՝ .jpg, .png, .gif
Հիմնական լուսանկարը կամ լոգոն * [[+fi.error.img]]
Լրացուցիչ լուսանկար (1) [[+fi.error.foto1]]
Լրացուցիչ լուսանկար (2) [[+fi.error.foto2]]
Լրացուցիչ լուսանկար (3) [[+fi.error.foto3]]
Լրացուցիչ լուսանկար (4) [[+fi.error.foto4]]

Պատկերի ցուցադրման պայման

[[*img:notempty=``]]
Այժմ ձեր կայքի օգտատերերը կարող են ոչ միայն գովազդ տեղադրել, այլև լրացնել դրանք լուսանկարներով, ինչպես ցանկացած հայտարարությունների տախտակի վրա: Բայց ի՞նչ, եթե ձևը լրացնելիս սխալ է թույլ տրվել: Օրինակ՝ մարդը սխալ է մուտքագրել և սխալ հեռախոսահամար է մուտքագրել, կամ գուցե պարզապես ցանկացել է գովազդ ավելացնել կամ փոխել իր ապրանքի գինը։

Հաջորդ անգամ կասեմ: Եվ այս ամենը այսօրվա համար է, հուսով եմ, որ այս հոդվածը օգտակար էր ձեզ համար: