18 class Product extends \Magento\Backend\Block\Widget\Container
43 $this->_typeFactory = $typeFactory;
45 parent::__construct($context,
$data);
56 'id' =>
'add_new_product',
57 'label' =>
__(
'Add Product'),
60 'class_name' => \Magento\Backend\Block\Widget\Button\SplitButton::class,
63 $this->buttonList->add(
'add_new', $addButtonProps);
65 return parent::_prepareLayout();
75 $splitButtonOptions = [];
76 $types = $this->_typeFactory->create()->getTypes();
79 function ($elementOne, $elementTwo) {
80 return ($elementOne[
'sort_order'] < $elementTwo[
'sort_order']) ? -1 : 1;
84 foreach ($types as $typeId =>
$type) {
85 $splitButtonOptions[$typeId] = [
88 'default' => \Magento\Catalog\Model\Product\Type::DEFAULT_TYPE == $typeId,
92 return $splitButtonOptions;
105 [
'set' => $this->_productFactory->create()->getDefaultAttributeSetId(),
'type' =>
$type]
116 return $this->_storeManager->isSingleStoreMode();
_getAddProductButtonOptions()
__construct(\Magento\Backend\Block\Widget\Context $context, \Magento\Catalog\Model\Product\TypeFactory $typeFactory, \Magento\Catalog\Model\ProductFactory $productFactory, array $data=[])
getUrl($route='', $params=[])
_getProductCreateUrl($type)