Как добавить множественный выбор магазина в конфигурацию системы magento?


У меня есть сценарий, в котором мне нужно иметь возможность выбирать подобные магазины magento в разделе конфигурации системы.

Store view

Author: Teja Bhagavan Kollepara, 2014-08-25

2 answers

Это указано в system.xml под тегом fields.

<field_name_here translate="title" module="[module]">
    <label>Label goes here</label>
    <frontend_type>multiselect</frontend_type>
    <source_model>[module]/store</source_model>
    <sort_order>10</sort_order> <!-- feel free to change this value -->
    <show_in_default>1</show_in_default><!-- can be 0 or 1 -->
    <show_in_website>0</show_in_website><!-- can be 0 or 1 -->
    <show_in_store>0</show_in_store><!-- can be 0 or 1 -->
</field_name_here>

Затем создайте исходную модель.
Для этого вам нужен класс внутри вашего модуля.

app/code/[codebool]/[Namespace]/[Module]/Model/Store.php с помощью этого кода:

<?php
class [Namespace]_[Module]_Model_Store {
    public function toOptionArray() {
        return Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true);
    }
}

Замените в коде выше значения между [] соответствующими значениями, и все готово.

 11
Author: Marius, 2014-08-25 07:35:44

Ответ Мариуса верен, однако я хотел бы добавить, что вы можете использовать Mage_Adminhtml_Model_System_Config_Source_Store в качестве исходной модели. Что приведет к <source_model>adminhtml/system_config_source_store</source_model> в вашем system.xml поле для вашей переменной конфигурации.

 1
Author: Dries, 2018-01-19 12:21:51