it-swarm-tr.com

Birden fazla bileşen düzeyinde ACL kuralının com_config kullanarak görüntülenip kaydedilmesinin bir yolu var mı?

Her zaman olduğu gibi IDE'mde dolaşıyorum. Bugünün zorluğu, test yönetimi bileşenimdeki çeşitli yöneticilerin (liste/form görünümleri) her biri için görünüm düzeyinde EKL kuralları oluşturmaktır.

Önce gerekli bölümleri access.xml dosyasına ekledim

<?xml version="1.0" encoding="UTF-8"?>
<access component="com_babelu_exams">
<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="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_COMPONENT_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
</section>
<section name="category">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_CATEGORY_DESC" />
    <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_CATEGORY_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_CATEGORY_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_CATEGORY_DESC" />
    <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_CATEGORY_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_CATEGORY_DESC" />
</section>
<section name="level">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_LEVEL_DESC" />
    <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_LEVEL_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_LEVEL_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_LEVEL_DESC" />
    <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_LEVEL_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_LEVEL_DESC" />
</section>
<section name="exam">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_EXAM_DESC" />
    <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_EXAM_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_EXAM_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_EXAM_DESC" />
    <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_EXAM_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_EXAM_DESC" />
</section>
<section name="section">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_SECTION_DESC" />
    <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_SECTION_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_SECTION_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_SECTION_DESC" />
    <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_SECTION_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_SECTION_DESC" />
</section>
<section name="problem">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_PROBLEM_DESC" />
    <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_PROBLEM_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_PROBLEM_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_PROBLEM_DESC" />
    <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_PROBLEM_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_PROBLEM_DESC" />
</section>
<section name="result">
    <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_RESULT_DESC" />
    <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_RESULT_DESC" />
    <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_RESULT_DESC" />
    <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_RESULT_DESC" />
</section>

Sonra ben izinler alan kümesi altında benim config.xml eklemek için çalıştı

<!-- SOF PERMISSIONS -->
<fieldset name="permissions" description="JCONFIG_PERMISSIONS_DESC"
    label="JCONFIG_PERMISSIONS_LABEL">
    <field name="rules" type="rules" component="com_babelu_exams"
        filter="rules" validate="rules" label="JCONFIG_PERMISSIONS_LABEL"
        section="component" />

    <field name="rules" type="rules" component="com_babelu_exams"
           filter="rules" validate="rules" label="JCONFIG_PERMISSIONS_LABEL"
           section="category" />
</fieldset>
<!-- EOF PERMISSIONS -->

Ancak, kategori kuralları bileşen kurallarının üzerine yazıldığından bu işe yaramadı. Kurallar dizisi oluşturmaya çalıştım

<!-- SOF PERMISSIONS -->
<fieldset name="permissions" description="JCONFIG_PERMISSIONS_DESC"
    label="JCONFIG_PERMISSIONS_LABEL">
    <field name="rules[]" type="rules" component="com_babelu_exams"
        filter="rules" validate="rules" label="JCONFIG_PERMISSIONS_LABEL"
        section="component" />

    <field name="rules[]" type="rules" component="com_babelu_exams"
           filter="rules" validate="rules" label="JCONFIG_PERMISSIONS_LABEL"
           section="category" />
</fieldset>
<!-- EOF PERMISSIONS -->

ama bu da aynı etkiyi yarattı. Bu yüzden bileşeni bileşen özniteliğine eklemeyi denedim, ancak bu sadece tüm izin denetiminin boş olmasına neden oldu.

Herkes ne yapmaya çalışıyorum com_config bileşen görünümünde mümkün olup olmadığını biliyor mu?

Bileşen düzeyinde olmasını istememin sebebi tam basamaklı ACL elde etmeye çalışmamdır. Süper yöneticide ACL'yi bileşene -> görün-> kayda ayarlayabilirsiniz. Bu, bileşenin geçerli kullanıcıların erişim izinleriyle ilgili olmayan bölümlerini gizlememe izin verecek.

Bunun com_config kullanılarak nasıl yapılabileceğini biliyorsanız lütfen bize bildirin. = ^ D Bu arada bir çözüm arayacağım, eğer bulursam gönderirim.

Mutlu Joomla! Ng

1
Mathew Lenning

Yazım hatası olduğundan emin olun, ancak access.xml dosyasında </access> Etiketi eksik.

Hiç denemedim ama aynı yapılandırmada birden fazla izin alanınızın olabileceğini düşünmüyorum.

  • component bölümü, bileşen seviyesi seçeneklerinde kullanılır.
  • category one, com_categories tarafından tek kategori izinleri için kullanılır.
  • Diğerleri tek öğe izinleri için kullanılabilir. com_content Örneğinde olduğu gibi her makalenin izinlerini ayrı ayrı ayarlamak için kullanılan bir article bölümünüz var.

Her görünüm için ayrı bir EKL'ye ihtiyacınız varsa, kendi EKL kurallarını oluşturmanız ve temel kuralları kullanmamanız gerekir. com_babelu_exams.level.create Gibi.

0
Bakual