本文整理汇总了PHP中Magento\Framework\App\RequestInterface::setActionName方法的典型用法代码示例。如果您正苦于以下问题:PHP RequestInterface::setActionName方法的具体用法?PHP RequestInterface::setActionName怎么用?PHP RequestInterface::setActionName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\App\RequestInterface
的用法示例。
在下文中一共展示了RequestInterface::setActionName方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: forward
/**
* @param string $action
* @return $this
*/
public function forward($action)
{
$this->request->initForward();
if (!empty($this->params)) {
$this->request->setParams($this->params);
}
if (!empty($this->controller)) {
$this->request->setControllerName($this->controller);
// Module should only be reset if controller has been specified
if (!empty($this->module)) {
$this->request->setModuleName($this->module);
}
}
$this->request->setActionName($action);
$this->request->setDispatched(false);
return $this;
}
示例2: load
/**
* @param RequestInterface $request
* @param ResponseInterface $response
* @return bool
*/
public function load(RequestInterface $request, ResponseInterface $response)
{
$newsId = (int) $request->getParam('id');
if (!$newsId) {
$request->initForward();
$request->setActionName('noroute');
$request->setDispatched(false);
return false;
}
$news = $this->newsFactory->create()->load($newsId);
$this->registry->register('current_news', $news);
return true;
}
示例3: load
/**
* @param RequestInterface $request
* @param ResponseInterface $response
* @return bool
*/
public function load(RequestInterface $request, ResponseInterface $response)
{
$orderId = (int) $request->getParam('order_id');
if (!$orderId) {
$request->initForward();
$request->setActionName('noroute');
$request->setDispatched(false);
return false;
}
$order = $this->orderFactory->create()->load($orderId);
if ($this->orderAuthorization->canView($order)) {
$this->registry->register('current_order', $order);
return true;
}
$response->setRedirect($this->url->getUrl('*/*/history'));
return false;
}
示例4: process
/**
* Process path info
*
* @param \Magento\Framework\App\RequestInterface $request
* @param string $pathInfo
* @return string
*/
public function process(\Magento\Framework\App\RequestInterface $request, $pathInfo)
{
$pathParts = explode('/', ltrim($pathInfo, '/'), 2);
$storeCode = $pathParts[0];
$stores = $this->_storeManager->getStores(false, true);
if (isset($stores[$storeCode]) && $stores[$storeCode]->isUseStoreInUrl()) {
if (!$request->isDirectAccessFrontendName($storeCode)) {
$this->_storeManager->setCurrentStore($storeCode);
$pathInfo = '/' . (isset($pathParts[1]) ? $pathParts[1] : '');
return $pathInfo;
} elseif (!empty($storeCode)) {
$request->setActionName('noroute');
return $pathInfo;
}
return $pathInfo;
}
return $pathInfo;
}
示例5: process
/**
* Process path info
*
* @param \Magento\Framework\App\RequestInterface $request
* @param string $pathInfo
* @return string
*/
public function process(\Magento\Framework\App\RequestInterface $request, $pathInfo)
{
$pathParts = explode('/', ltrim($pathInfo, '/'), 2);
$storeCode = $pathParts[0];
try {
/** @var \Magento\Store\Api\Data\StoreInterface $store */
$store = $this->storeManager->getStore($storeCode);
} catch (NoSuchEntityException $e) {
return $pathInfo;
}
if ($store->isUseStoreInUrl()) {
if (!$request->isDirectAccessFrontendName($storeCode)) {
$this->storeManager->setCurrentStore($storeCode);
$pathInfo = '/' . (isset($pathParts[1]) ? $pathParts[1] : '');
return $pathInfo;
} elseif (!empty($storeCode)) {
$request->setActionName('noroute');
return $pathInfo;
}
return $pathInfo;
}
return $pathInfo;
}