Magento 2: получить модуль групп клиентов - PullRequest
0 голосов
/ 04 мая 2018

как я хочу показать группы клиентов в моем обычном модуле, например, «НЕ ЗАПИСАНО - Общие» или «НЕ ЗАПИСАНО - Общие - Оптовые - Розничный продавец»,

это мой код в сетке

$this->addColumn(
        'customer_group',
        [
            'header' => __('Customer Groups'),
            'index' => 'customer_group',
            'class' => 'customer_group',
            'type' => 'options',
            'renderer' => 'Rendy\ModuleWarehouse\Block\Adminhtml\Warehouse\Renderer\CustomerGroups'
        ]
    );

и это мой код CustomerGroups

пространство имен Rendy \ ModuleWarehouse \ Block \ Adminhtml \ Warehouse \ Renderer; использовать Magento \ Framework \ DataObject; класс CustomerGroups extends \ Magento \ Backend \ Block \ Widget \ Grid \ Column \ Renderer \ AbstractRenderer { защищенный $ _customerGroup;

public function __construct(
    \Magento\Backend\Block\Context $context,
    \Magento\Customer\Model\ResourceModel\Group\Collection $customerGroup,        
    array $data = []
) {
    $this->_customerGroup = $customerGroup;        
    parent::__construct($context, $data);
}
/**
 * Get customer groups
 * 
 * @return array
 */ 
public function render(DataObject $row) {
    $customerGroups = $this->_customerGroup->toOptionArray();
     array_unshift($customerGroups, array('value'=>'', 'label'=>'Any'));
}

}

спасибо

1 Ответ

0 голосов
/ 11 декабря 2018

Когда-нибудь это было решено? Вы можете использовать \ Magento \ Customer \ Model \ GroupFactory в своей конструкции:

public function __construct(
    \Magento\Backend\Block\Context $context,
    \Magento\Customer\Model\GroupFactory $groupFactory        
    array $data = []
) {
    $this->_groupFactory = $groupFactory;        
    parent::__construct($context, $data);
}

Это хорошо, потому что вы можете сделать это в вашей функции рендеринга:

$collection = $this->groupFactory->create()->getCollection();
foreach ($collection as $group) {
  echo "group id ".$group->getId();
  echo "group code ".$group->getCode();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...