本文整理汇总了PHP中Mage_Core_Controller_Request_Http::setDispatched方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Core_Controller_Request_Http::setDispatched方法的具体用法?PHP Mage_Core_Controller_Request_Http::setDispatched怎么用?PHP Mage_Core_Controller_Request_Http::setDispatched使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Core_Controller_Request_Http
的用法示例。
在下文中一共展示了Mage_Core_Controller_Request_Http::setDispatched方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testDispatch
/**
* Test that Mage_Core_Controller_Varien_Action_Forward::dispatch() does not change dispatched flag
*/
public function testDispatch()
{
$this->_request->setDispatched(true);
$this->assertTrue($this->_request->isDispatched());
$this->_object->dispatch('any action');
$this->assertFalse($this->_request->isDispatched());
}
示例2: match
/**
* Validate and Match Cms Page and modify request
*
* @param Mage_Core_Controller_Request_Http $request
* @return bool
*
* @SuppressWarnings(PHPMD.ExitExpression)
*/
public function match(Mage_Core_Controller_Request_Http $request)
{
if (!Mage::isInstalled()) {
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
exit;
}
$identifier = trim($request->getPathInfo(), '/');
$condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true));
$this->_eventManager->dispatch('cms_controller_router_match_before', array('router' => $this, 'condition' => $condition));
$identifier = $condition->getIdentifier();
if ($condition->getRedirectUrl()) {
Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse();
$request->setDispatched(true);
return $this->_controllerFactory->createController('Mage_Core_Controller_Varien_Action_Redirect', array('request' => $request));
}
if (!$condition->getContinue()) {
return null;
}
$page = Mage::getModel('Mage_Cms_Model_Page');
$pageId = $page->checkIdentifier($identifier, Mage::app()->getStore()->getId());
if (!$pageId) {
return null;
}
$request->setModuleName('cms')->setControllerName('page')->setActionName('view')->setParam('page_id', $pageId);
$request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier);
return $this->_controllerFactory->createController('Mage_Core_Controller_Varien_Action_Forward', array('request' => $request));
}
示例3: _checkStoreRedirect
/**
* Redirect to entity (category or product) in new store
*
* @param int $rewriteId
*
* @return null|void
*/
public function _checkStoreRedirect($rewriteId)
{
if ($this->_prevStoreId == $this->_storeId) {
return;
}
$redirect = $this->_redirectResource->getRedirectByRewriteId($rewriteId);
if (!empty($redirect['product_id'])) {
$requestPath = $this->_getProductRequestPath($redirect, $redirect['category_id']);
} elseif (!empty($redirect['category_id'])) {
$requestPath = $this->_getCategoryRequestPath($redirect);
}
if (!empty($requestPath)) {
$this->_response->setRedirect($requestPath, 301);
$this->_request->setDispatched(true);
}
}
示例4: _checkStoreRedirect
/**
* Redirect to category from another store if custom url key defined
*
* @param int $rewriteId
*/
protected function _checkStoreRedirect($rewriteId)
{
if ($this->_prevStoreId != $this->_storeId) {
$categoryId = $this->_categoryResource->getCategoryIdByRewriteId($rewriteId);
if (!empty($categoryId)) {
$rewrite = $this->_categoryResource->getRewriteByCategoryId($categoryId, $this->_storeId);
if (!empty($rewrite)) {
$requestPath = $rewrite['request_path'];
if (!empty($this->_newStoreSeoSuffix)) {
$requestPath .= '.' . $this->_newStoreSeoSuffix;
}
$requestPath = $this->_getBaseUrl() . $requestPath;
$this->_response->setRedirect($requestPath, 301);
$this->_request->setDispatched(true);
}
}
}
}
示例5: getDynamicBlockReplacement
/**
* Calls the diehard/load controller without spawning a new request
*
* @param array $params
* @return string
*/
public function getDynamicBlockReplacement($params)
{
// Append dynamic block content to end of page to be replaced by javascript, but not Ajax
if ($params['blocks'] || !empty($params['all_blocks'])) {
// Init store if it has not been yet (page served from cache)
if (!$this->helper()->isAppInited()) {
$this->helper()->initApp();
} else {
// Reset layout
Mage::unregister('_singleton/core/layout');
Mage::getSingleton('core/layout');
// TODO Mage::app()->getLayout() is not reset using the method above!
// TODO Consider resetting Magento entirely using Mage::reset();
}
// Create a sub-request to get JSON response
$uri = $this->getBaseUrl() . '/_diehard/load/ajax';
$request = new Mage_Core_Controller_Request_Http($uri);
$request->setRouteName('diehard');
$request->setModuleName('_diehard');
$request->setControllerName('load');
$request->setActionName('ajax');
$request->setControllerModule('Cm_Diehard');
$request->setParam('full_action_name', $params['full_action_name']);
if (!empty($params['all_blocks'])) {
$request->setParam('all_blocks', 1);
} else {
$request->setParam('blocks', $params['blocks']);
}
$request->setParam('params', $params['params']);
$request->setDispatched(true);
// Override parameters in request singleton (for Mage_Core_Block_Abstract#getRequest())
Mage::app()->getRequest()->clearParams();
Mage::app()->getRequest()->setParams($request->getParams());
Mage::app()->getRequest()->setParams($request->getParam('params'));
// Render sub-request into sub-response object
$response = new Mage_Core_Controller_Response_Http();
require_once Mage::getModuleDir('controllers', 'Cm_Diehard') . '/LoadController.php';
$controller = new Cm_Diehard_LoadController($request, $response);
$controller->dispatch('json');
$replacement = '';
if ($this->helper()->isDebug()) {
$replacement .= '<!-- Dynamic blocks rendered: ' . (empty($params['all_blocks']) ? implode(',', $params['blocks']) : 'ALL') . ' -->' . "\n";
}
$replacement .= "<script type=\"text/javascript\">/* <![CDATA[ */Diehard.replaceBlocks({$response->getBody()});/* ]]> */</script>";
return $replacement;
} else {
if ($this->helper()->isDebug()) {
return '<!-- No dynamic blocks -->';
} else {
return '';
}
}
}