Bagaimana cara menambahkan acl di modul khusus di magento

8

Saya membuat modul khusus di Magento. Saya membuat menu itu di bawah menu pelanggan. Saya perlu menambahkan acl untuk modul khusus. Saya perlu tahu bahwa cara membuat acl di modul kustom saya berikan di sini config.xml ...

my config.xml
------------------
<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <!-- module configuration -->
    <modules>
        <Webcreon_Seller>
            <version>1.0.0</version>
        </Webcreon_Seller>
    </modules>
    <!-- module configuration end -->
    <frontend>
        <routers>
            <seller>
                <use>standard</use>
                <args>
                    <module>Webcreon_Seller</module>
                    <frontName>seller</frontName>  
                </args>
            </seller>
        </routers>
     <layout>
            <updates>
                <seller>
                      <file>sellerform.xml</file>
                </seller>
            </updates>
       </layout>
    </frontend>
    <admin>
     <routers>
         <seller>
            <use>admin</use>
            <args>
               <module>Webcreon_Seller</module>
               <frontName>adminseller</frontName>
            </args>
         </seller>
      </routers>
 </admin>
 <adminhtml>
   <layout>
      <updates>
          <seller>
              <file>sellerform.xml</file>
           </seller>
      </updates>
   </layout>
   <menu>
      <customer translate="title" module="adminhtml">

         <sort_order>100</sort_order>
         <children>
             <set_time>
                   <title>Seller List</title>
                   <action>adminseller/adminhtml_index</action>
              </set_time>
          </children>
       </customer>
    </menu>
</adminhtml> 

    <global>
        <blocks>
            <seller>
                <class>Webcreon_Seller_Block</class>
            </seller>
         </blocks>
         <helpers>
            <seller>
                <class>Webcreon_Seller_Helper</class>
            </seller> 
        </helpers>
              <models>
          <seller>
                <class>Webcreon_Seller_Model</class>
                 <resourceModel>seller_mysql4</resourceModel>
            </seller> 
            <seller_mysql4>
             <class>Webcreon_Seller_Model_Mysql4</class>
             <entities>
                 <seller>
                   <table>db_vendor</table>
                 </seller>
              </entities>
          </seller_mysql4>
        </models>
        <resources>
        <!-- connection to write -->
        <seller_write>
            <connection>
                <use>core_write</use>
            </connection>
        </seller_write>
        <!-- connection to read -->
       <seller_read>
          <connection>
             <use>core_read</use>
          </connection>
       </seller_read>
       <webcreon_seller_setup>
            <setup>
                <module>Webcreon_Seller</module>
            </setup>
        </webcreon_seller_setup>
</resources>
<rewrite>
    <sellercreate>
         <from><![CDATA[#^/seller[\/]?$#]]></from>
         <to><![CDATA[/seller/seller/sellercreate/$1]]></to>
         <complete>1</complete>
      </sellercreate>
</rewrite>
</global>


</config>
Deepak Kumar
sumber

Jawaban:

3

Buat adminhtml.xmldi Webcreon/Seller/etctempat Anda harus meletakkan kode Anda

<?xml version="1.0" encoding="UTF-8" ?>
    <config>
        <acl>
          <resources>
            <all>
              <title>Allow Everything</title>
            </all>
            <admin>
             <children>
                <customer translate="title" module="seller">
                  <children>
                    <set_time translate="title">
                    <title>Seller List</title>
                    </set_time>
                  </children>
                </customer>
              </children>
            </admin>
          </resources>
        </acl>
    </config>

Accoring untuk Anda telah membuat new menu at customer sectionsebuah child tabdan nama adalah set_time Jadi saya menambahkan kode ini

    <customer translate="title" module="seller">
      <children>
        <set_time translate="title">
        <title>Seller List</title>
        </set_time>
      </children>
    </customer>
Amit Bera
sumber
saya perlu menunjukkan modul saya di grup acl pelanggan..berarti izin masuk saya di bawah bagian pelanggan
Deepak Kumar
Iya. itu di bawah di pelanggan
Amit Bera
itu tidak ditampilkan di bawah bagian pelanggan..juga tidak ditampilkan dalam grup ACL
Deepak Kumar
Saya membuat adminhtml di dll ... tetapi dan seluruh kode Anda saya tempel di sana dalam file ... saya menghapus cache ... kemudian login kembali di admin ... tetapi dalam izin pengguna tidak muncul di sana
Deepak Kumar
Pastikan untuk mengklik "Flush Cache Storage" dari halaman manajemen cache. "Flush Magento Cache" tidak memperbaruinya.
Emery King
10

Penjelasan umum:

ACL untuk menu admin

Untuk menentukan ACL untuk kustom menu admin masuk, menyalin segala sesuatu di bawah adminhtml/menuuntuk acl/resources/admin/childrendan menghapus <action>node.

Contoh: Apa yang harus disalin

http://i.stack.imgur.com/9CiIQ.png

Untuk benar-benar menggunakan ACL Anda harus menambahkan metode berikut ke controller Anda :

protected function _isAllowed()
{
    return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}

Pengidentifikasi sumber daya didasarkan pada nama-nama simpul di bawah ini acl/resources/admin/children, melewatkan childrensimpul - simpul berikut .

Contoh: Pengidentifikasi sumber daya

http://i.stack.imgur.com/HZ2Is.png

ACL untuk bagian konfigurasi sistem

Untuk menentukan ACL untuk bagian konfigurasi sistem , berikut ini harus ditambahkan di bawah ini acl/resources/admin/children:

<system>
  <children>
    <config>
      <children>
        <my_configuration_section>
          <title>My Configuration Section</title>
        </my_configuration_section>
      </children>
    </config>
  </children>
</system>

dari mana my_configuration_sectiondatangnya system.xml:

<sections>
    <my_configuration_section translate="label" module="my_module">
      ...
    </my_configuration_section>
</sections>     

Khusus untuk pertanyaan Anda:

Dalam kasus Anda, itu berarti, adminhtml.xmlakan terlihat seperti ini:

<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <acl>
      <resources>
        <admin>
         <children>

           <customer translate="title" module="adminhtml">
             <sort_order>100</sort_order>
             <children>
               <set_time>
                 <title>Seller List</title>
               </set_time>
             </children>
           </customer>

          </children>
        </admin>
      </resources>
    </acl>
</config>
Fabian Schmengler
sumber