khóa động => cài đặt cặp giá trị adminhtml cho mô-đun tùy chỉnh


7

Tôi có một mô-đun tùy chỉnh với cài đặt adminhtml (system.xml), cho phép người dùng gán một "mã" duy nhất cho một phương thức giao hàng cụ thể.

Nó trông giống như thế này:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, điều này khá cơ bản vì yêu cầu chỉ dành cho 5 ánh xạ. Điều này đã được thực hiện như thế này bằng cách sử dụng tệp system.xml như thế này:

<charge_1_method translate="label">
    <label><![CDATA[Charge <b style="color: #FF7F24;">#1</b> Method]]></label>
    <frontend_type>select</frontend_type>
    <source_model>mymodule_adminhtml/system_config_source_dropdown_shippingmethods</source_model>
    <sort_order>14</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>0</show_in_website>
    <show_in_store>0</show_in_store>
</charge_1_method>
<charge_1_code translate="label">
    <label><![CDATA[Charge <b style="color: #FF7F24;">#1</b> Code]]></label>
    <frontend_type>text</frontend_type>
    <sort_order>15</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>0</show_in_website>
    <show_in_store>0</show_in_store>
</charge_1_code>

... etc

Bây giờ yêu cầu đã thay đổi, trong đó tôi phải ánh xạ khoảng 25 phương thức vận chuyển khác nhau thành một mã duy nhất. Vì vậy, tôi muốn có phần cài đặt này hoạt động linh hoạt.

Vì vậy, người dùng có thể tạo bao nhiêu cặp khóa ==> khớp giá trị theo ý muốn.

Khóa phải là "phương thức vận chuyển" từ nguồn chọn thả xuống tùy chỉnh của tôi. Giá trị phải là một trường đầu vào.

Bất cứ ý tưởng về làm thế nào tôi có thể đạt được điều này? Có bất kỳ ví dụ về điều này?

Câu trả lời:


10

Vì vậy, người dùng có thể tạo bao nhiêu cặp khóa ==> khớp giá trị theo ý muốn.

Đối với điều này, tôi muốn giới thiệu các mô hình frontend và backend "Array", hoạt động tương tự như định nghĩa giá tầng trong các sản phẩm. Bạn sẽ tạo một ma trận với 2 cột có thể dễ dàng chuyển đổi thành khóa => bản đồ giá trị nếu cần. Với một phần mở rộng cho mô hình frontend, bạn cũng có thể sử dụng danh sách thả xuống cho phương thức vận chuyển.

Nó được giải thích chi tiết tại đây: http://www.integer-net.com/2015/03/17/how-to-create-tables-in-magento-system-configuration/

Xem trước

ví dụ từ số nguyên-net.com

Những gì bạn cần

  • Mô hình phụ trợ mảng, sẽ lưu ma trận dưới dạng mảng nối tiếp: <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
  • Mô hình lối vào tùy chỉnh mở rộng Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstractvà ghi đè _prepareToRender()để xác định các cột.
  • Trình kết xuất mở rộng Mage_Core_Block_Html_Selectđể tạo danh sách thả xuống tùy chỉnh.

2

Dưới đây là hướng dẫn về cách thêm phần tạo hệ thống-> cấu hình với số lượng trường động.
Ví dụ cho thấy cách tạo trên trường cho từng nhóm khách hàng, nhưng bạn có thể thay đổi điều đó để phù hợp với nhu cầu của bạn.
Ý tưởng chính là tạo một tùy chỉnh frontend_modelcho nhóm cấu hình. Nó được gọi frontend_modelnhưng nó thực sự là một khối.
Khối đó phải có một phương thức được gọi là _getFieldHtmlbạn có thể sử dụng để thêm bao nhiêu trường bạn cần vào một bộ trường và sau đó trả về html của bộ trường đó.

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.