Вместо вызова базовой модели вы можете определить свой собственный наблюдатель в System.Xml
Здесь Вы можете найти код, который позволит решить вашу проблему.
<source_model>adminhtml/system_config_source_GroupCollection</source_model>
Теперь создайте файл GroupCollection.php в локальном \ сообщества (рабочий каталог) в поле ниже пути.
e.g app\code\local\Mage\Adminhtml\Model\System\Config\Source\GroupCollection.php
Добавить в этот файл код.
<?php
class Mage_Adminhtml_Model_System_Config_Source_GroupCollection
{
/**
* Options getter
*
* @return array
*/
public function toOptionArray()
{
$group = Mage::getModel('customer/group')->getCollection();
$groupArray = array();
foreach ($group as $eachGroup) {
$groupData = array(
'customer_group_id' => $eachGroup->getCustomerGroupId(),
'customer_group_code' => $eachGroup->getCustomerGroupCode(),
'tax_class_id' => $eachGroup->getTaxClassId() // we dont required this
);
if (!empty($groupData)) {
array_push($groupArray, $groupData);
}
}
var_dump($groupArray);
}
}
Ниже приводится ваш вывод.
array (size=4)
0 =>
array (size=3)
'customer_group_id' => string '0' (length=1)
'customer_group_code' => string 'NOT LOGGED IN' (length=13)
'tax_class_id' => string '3' (length=1)
1 =>
array (size=3)
'customer_group_id' => string '1' (length=1)
'customer_group_code' => string 'General' (length=7)
'tax_class_id' => string '3' (length=1)
2 =>
array (size=3)
'customer_group_id' => string '2' (length=1)
'customer_group_code' => string 'Wholesale' (length=9)
'tax_class_id' => string '3' (length=1)
3 =>
array (size=3)
'customer_group_id' => string '3' (length=1)
'customer_group_code' => string 'Retailer' (length=8)
'tax_class_id' => string '3' (length=1)
И все готово! :)
NOT LOGGED IN обрабатывается немного иначе, например, вы не можете создавать клиентов в этой группе, поэтому эта исходная модель не возвращает его. – user3154108
Мне не нужно создавать клиентов в этой группе, мне нужно получить в multiselect NOT LOGGED IN с другими группами –
Дело в том, что исходная модель, которую вы используете, используется на вкладке создания клиента, где группа NOT LOGGED IN не требуется, поэтому эта исходная модель не включает эту группу. Я не знаю других исходных моделей, которые у вас есть, вам либо нужно создать свой собственный, либо добавить эту группу вручную. – user3154108