我回答我的问题。mtns_cll回答了Magento 2的问题,获取管理中路径的前端存储url对我有用 。
如果有人需要,我在这里发布我的解决方案:
产品前端:
注入 \Magento\Framework\Url $url
$url->getUrl('catalog/product/view', ['id' => $entityId, '_nosid' => true, '_query' => ['___store' => $storeCode]]);
产品后端
注入\Magento\Framework\UrlInterface $url
或使用从父类继承的url接口。
$url->getUrl('catalog/product/edit', ['id' => $entityId, 'store' => $targetStoreId]);
类别前端
注入`\ Magento \ Framework \ Url $ url
$url->getUrl('catalog/category/view', ['id' => $entityId, '_nosid' => true, '_query' => ['___store' => $storeCode]]);
类别后端
注入\Magento\Framework\UrlInterface $url
或使用从父类继承的url接口。
$url->getUrl('catalog/category/edit', ['id' => $entityId, 'store' => $targetStoreId]);
cms页面前端
注入 Magento\Cms\Block\Adminhtml\Page\Grid\Renderer\Action\UrlBuilder $rul
$url->getUrl($this->_pageModel->getIdentifier(), $targetStoreId, $storeCode );
CMS页面后端
注入\Magento\Framework\UrlInterface $url
或使用从父类继承的url接口。
$url->getUrl(PageActions::CMS_URL_PATH_EDIT, ['page_id' => $pageId]);
CMS块后端
注入\Magento\Framework\UrlInterface $url
或使用从父类继承的url接口。
$url->getUrl(BlockActions::URL_PATH_EDIT, ['block_id' => $blockId]);