Cách thêm acl trong mô-đun tùy chỉnh trong magento


8

Tôi đã tạo mô-đun tùy chỉnh trong magento. Tôi đã tạo ra menu đó dưới menu khách hàng. Tôi cần thêm acl cho mô-đun tùy chỉnh. Tôi cần biết rằng làm thế nào để tạo acl trong mô-đun tùy chỉnh tôi đưa ra ở đây tệp config.xml của tôi ...

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>

Câu trả lời:


3

Tạo adminhtml.xmltại Webcreon/Seller/etcnơi bạn cần đặt mã của mình

<?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>

Tham gia với bạn đã tạo ra new menu at customer sectionmột child tabvà tên của nó là set_time Vì vậy, tôi thêm mã này

    <customer translate="title" module="seller">
      <children>
        <set_time translate="title">
        <title>Seller List</title>
        </set_time>
      </children>
    </customer>

tôi cần hiển thị mô-đun của mình trong nhóm acl của khách hàng..có nghĩa là tôi được phép theo phần khách hàng
Deepak Kumar

Đúng. nó ở dưới khách hàng
Amit Bera

nó không hiển thị dưới phần khách hàng..cũng không hiển thị trong nhóm acl
Deepak Kumar

Tôi tạo ra adminhtml trong vv ... nhưng và toàn bộ mã của bạn tôi dán có trong tập tin ... tôi đã xóa bộ nhớ cache ... sau đó đăng nhập lại trong quản trị ... nhưng trong giấy phép sử dụng của nó không hiển thị ở đó
Deepak Kumar

Đảm bảo nhấp vào "Flush Cache Storage" từ trang quản lý bộ đệm. "Flush Magento Cache" không cập nhật nó.
Vua Emery

10

Một lời giải thích chung:

ACL cho menu quản trị

Để xác định ACL cho mục nhập menu quản trị viên tùy chỉnh , sao chép mọi thứ bên dưới adminhtml/menuvào acl/resources/admin/childrenvà xóa các <action>nút.

Ví dụ: Sao chép

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

Để thực sự sử dụng ACL, bạn phải thêm phương thức sau vào bộ điều khiển của mình :

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

Mã định danh tài nguyên dựa trên các tên nút bên dưới acl/resources/admin/children, bỏ qua các childrennút sau .

Ví dụ: Mã định danh tài nguyên

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

ACL cho phần cấu hình hệ thống

Để xác định ACL cho phần cấu hình hệ thống , phần sau phải được thêm vào dưới đây acl/resources/admin/children:

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

nơi my_configuration_sectionđang đến từ system.xml:

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

Cụ thể cho câu hỏi của bạn:

Trong trường hợp của bạn, điều đó có nghĩa là, adminhtml.xmlnên trông như thế này:

<?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>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.