Forum zajednice Joomla! Hrvatska

Joomla! 2.5 / 1.7 / 1.6 podrška => Development / API rasprave => Autor teme: erik u 08. Kolovoz 2011, 20:07

Naziv: Konfiguracija sekundarnog ACL
Autor: erik u 08. Kolovoz 2011, 20:07
Riječ je o primjeru iz ovog tutorijala (http://docs.joomla.org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!1.6_-_Part_14).

Imamo access.xml u kome definiramo akcije. U tom xml-u imamo dvije sekcije: component i message. Malo niže imamo datoteku config.xml u kome je pokazano kako prikazati formu za definiranje akcije, tj. koja grupa što smije raditi u sekciji "component" tj. globalno.

Do tuda je sve jasno.

Zapeo sam na sekciji "message". U tutorijalu je lijepo pokazano kako se koriste postavke tog "message", ali ne i gdje se konfiguriraju.

Dakle pitanje: kako konfigurirati sekciju "message"?
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: wooer u 09. Kolovoz 2011, 19:12
Nije mi baš najjasnije gdje si zapeo.
component sekcija je za komponentu globalno, a message (ili kako god nazoveš) je za acl unutar same komponente.
Prikazana helloworld komponenta ionako nema sve implementirano pa message sekcija niti nema svoga koda.

Prouči kako je to odrađeno u com_categories komponenti, druga sekcija se tamo zove "category" i konfigurira se na dnu svake pojedine kategorije (new ili edit) unutar upravljanja kategorijama.
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: erik u 09. Kolovoz 2011, 22:00
Hvala wooer na sudjelovanju!

Znam za to (riječ je o sekciji categories u com_content). Zapravo mene zanima kako mogu napraviti "globalnu" konfiguraciju za podstavke. Npr. one dozvole u kategorijama (kada se klikne na cofig) su zapravo dozvole sadržaja, a ne komponenti.

Hajde primjer:

Imam klasičnu demo komponentu knjižnica i u njoj imam dvije glavne grupe "članovi" i "knjige". Prvo imam sekciju "component" koja određuje tko smije pristupiti, urediti, obrisati na razini kategorije. Sada bih ja da mogu isto tako pod "članovi" imati konfiguraciju tko smije uređivati, itd.. članove.

Imaš ideju kako to riješiti?
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: wooer u 10. Kolovoz 2011, 11:54
Preimenuj u access.xml datoteci helloworld komponente sekciju 'message' u 'category' i mislim da će ti onda sve postati puno jasnije. Barem se nadam. Tada bi prilikom kreiranja kategorije unutar komponente na dnu trebao dobiti tablicu s dozvolama za core.delete i core.edit akcije kako je definirano u access.xml datoteci. Za ostalo je zadužen JAccess (http://docs.joomla.org/Subpackage_Access/1.6)
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: erik u 10. Kolovoz 2011, 13:58
Da, ali to je onda ponovo za pojedinačnu kategoriju, a ja bih želio za sve kategorije.
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: wooer u 10. Kolovoz 2011, 15:42
Pa to bi određivao acl same komponente. Ili ti želiš imati i tercijarni acl?
Naziv: Odg: Konfiguracija sekundarnog ACL
Autor: erik u 11. Kolovoz 2011, 07:24
Tako sam za sada riješio, sve u dozvolama komponente, ali malo izgleda natrpano:

npr.

<?xml version="1.0" encoding="utf-8" ?>
<access component="com_knjiznica">
<section name="component">
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
<action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
<action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />

<action name="clanovi.admin" title="..." description="..." />
<action name="clanovi.manage" title="..." description="..." />
<action name="clanovi.create" title="..." description="..." />
<action name="clanovi.delete" title="..." description="..." />
<action name="clanovi.edit" title="..." description="..." />

<action name="knjige.admin" title="..." description="..." />
<action name="knjige.manage" title="..." description="..." />
<action name="knjige.create" title="..." description="..." />
<action name="knjige.delete" title="..." description="..." />
<action name="knjige.edit" title="..." description="..." />
</section>
</access>