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>

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>

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>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.