将商店视图选择器添加到Magento 2中的管理工具栏

mus*_*tel 5 magento magento2 magento-2.0

我正在创建一个模块,它将支持不同商店视图的不同配置设置,如果有一个商店视图选择器类似于在管理员中编辑产品时出现的那个,那将是很好的.

我已设法使用代码将按钮添加到我的模块工具栏:

class Edit extends \Magento\Backend\Block\Template
{   
    protected function _prepareLayout()
    {
        $this->getToolbar()->addChild(
            'save_button',
            'Magento\Backend\Block\Widget\Button',
            [
                'label' => __('Save'),
                'data_attribute' => [
                    'role' => 'save',
                ],
                'class' => 'save primary',
                'onclick' => "jQuery('#mp_mymodule_edit_form').submit();",
            ]
        );
        return parent::_prepareLayout();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用Tools :: addChild方法插入商店视图选择器?一般来看看Stack Overflow和Google,并没有找到任何相关的东西.手指交叉,有人知道.

提前致谢

mus*_*tel 7

最终设法通过浏览各种Magento文件来解决这个问题,在此发布以防万一有人在寻找相同的解决方案:

方法1 - 添加到_prapareLayout函数:

    $this->getToolbar()->addChild(
        'store_switcher',
        'Magento\Backend\Block\Store\Switcher'
    );
Run Code Online (Sandbox Code Playgroud)

方法2 - 布局XML文件(在我的情况下,我将其添加到app/code/MP/MyModule/view/adminhtml/layout/productpricebysize_dimension_edit中的布局文件中)

<referenceContainer name="page.main.actions">
        <block class="Magento\Backend\Block\Store\Switcher" name="store_switcher">
            <action method="setUseConfirm">
                <argument name="params" xsi:type="string">1</argument>
            </action>
        </block>
</referenceContainer>
Run Code Online (Sandbox Code Playgroud)

  • **XML版本就像一个魅力!** (2认同)