Cấu hình hệ thống Đa mặc định tất cả đã chọn


8

Tôi có một trường cấu hình hệ thống loại multiselect sẽ được điền bằng catalog/product_attribute_collection. Đây là một phần của system.xmlđịnh nghĩa nó.

  <attributes>
       <label>Choose Attributes to JSONize</label>
       <frontend_type>multiselect</frontend_type>
       <sort_order>3</sort_order>
       <show_in_default>1</show_in_default>
       <show_in_website>1</show_in_website>
       <show_in_store>1</show_in_store>

<source_model>package_module/system_config_attributes</source_model>
  </attributes>

Bây giờ tôi muốn tất cả các giá trị trong multiselect được chọn theo mặc định. Vì các giá trị mặc định cho cấu hình hệ thống được xác định trong config.xml, tôi không chắc chắn làm thế nào để chọn tất cả làm mặc định.

Đây là phần config.xmlcó liên quan đến câu hỏi

<default>
    <mytab>
        <mysection>
            <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes>
        </mysection>
    </mytab>
</default>

Câu trả lời:


6

Sử dụng D ataScript để lưu trữ dữ liệu trong mô-đun cấu hình.

Cách tạo tập lệnh dữ liệu

http://inchoo.net/magento/magento-install-install-upTHER-data-and-data-upTHER-scripts/

Trong datascript chỉ cần gọi mô-đun cấu hình lõi và lưu dữ liệu của bạn

$myDynamicValue = '1,2,3';
Mage::getConfig()->saveConfig('section/group/field', $myDynamicValue, 'default', 0);

Đây là một cách giải quyết thực sự thông minh, và nó đã làm việc!
Jay Ghosh

3

Tôi đưa ra ví dụ đa lựa chọn.

<fields>
    <view_style translate="label">
        <label>Display Settings</label>
        <frontend_type>multiselect</frontend_type>
        <source_model>yourmodule/system_config_source_view</source_model>
        <sort_order>40</sort_order>
        <show_in_default>1</show_in_default>
    </view_style>
</fields>

tạo một tệp cho tùy chọn đa lựa chọn trong mô-đun của bạn trong đường dẫn này

your_namespace / yourmodel / Model / System / Config / Source / View.php

Thêm mã dưới đây trong View.php của bạn

class YourNamespace_YourModule_Model_System_Config_Source_View 
{
    /**
     * Options getter
     *
     * @return array
     */
    public function toOptionArray()
    {
        return array(
            array('value' => 0, 'label' => Mage::helper('adminhtml')->__('Data1')),
            array('value' => 1, 'label' => Mage::helper('adminhtml')->__('Data2')),
            array('value' => 2, 'label' => Mage::helper('adminhtml')->__('Data3')),
        );
    }

    /**
     * Get options in "key-value" format
     *
     * @return array
     */
    public function toArray()
    {
        return array(
            0 => Mage::helper('adminhtml')->__('Data1'),
            1 => Mage::helper('adminhtml')->__('Data2'),
            3 => Mage::helper('adminhtml')->__('Data3'),
        );
    }
}

Câu trả lời của bạn cho biết làm thế nào để xác định một mô hình nguồn. Tôi đã làm điều đó rồi. Tôi muốn tất cả các giá trị từ mô hình nguồn được chọn theo mặc định
Jay Ghosh

3
<default>
     <mytab>
        <mysection>
            <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes>
        </mysection>
    </mytab>
</default>

Bạn nên sử dụng các phím được phân tách bằng dấu phẩy của mảng tùy chọn.

ví dụ

<default>
     <mytab>
        <mysection>
            <attributes>0,1,3</attributes>
        </mysection>
    </mytab>
</default>

Chọn cả ba tùy chọn theo mặc định.


Có nhưng như tôi đã nói. Tôi không biết trước các giá trị để viết trong một chuỗi được phân tách bằng dấu phẩy. Thật năng động
Jay Ghosh
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.