有什么好方法可以从当前商店magento 2的不同根目录/商店加载类别?

时间:2019-04-29 13:39:52

标签: magento magento2

我们有两个具有不同根类别的商店。要求是从当前商店的不同根目录显示类别。

在Magento 1中处理的方式是,创建了一个单独的路由器来匹配类别路径,当匹配该路径时,它将请求分发到类别控制器的“查看”操作。

这里的技巧是在调用initCateogory之前,将商店设置为该类别所属的其他商店,在加载类别之后,我们将还原为current_store。

我们在Magento 2中尝试了类似的方法,但是看起来确实加载了类别页面,但是数据为空白。

initCategory方法返回正确的类别,execute方法返回页面数据。但是,由于某些原因,从来没有点击product.phtml文件。

//match method of router.php
public function match(\Magento\Framework\App\RequestInterface $request)
    {

        //after match criteria
        {
            $request->setModuleName('series');
            $request->setControllerName('category');
            $request->setActionName('view');
            $request->setControllerModule('catalog');
            $request->setParam('id', '111111');

            return $this->actionFactory->create(
                'Magento\Framework\App\Action\Forward',
                ['request' => $request]
            );

        }
    }

// from my view.php 
 protected function _initCategory()
    {
        $_objectManager = \Magento\Framework\App\ObjectManager::getInstance();
        $store_manager =  $_objectManager->get(\Magento\Store\Model\StoreManagerInterface::class);
        $current_store = 1;
        $other_store =2;
        $store_manager->setCurrentStore($other_store);
        $category = parent::_initCategory();
        $store_manager->setCurrentStore($current_store);

        return $category;

}

它应该加载类别,但是显示空白页。

0 个答案:

没有答案