I am checking in admin panel, when admin click on "Manage Categories" page is redirect to other location.I want to to know where is the function when click on "Manage Categories".
1 Answer
This function is written in
app\code\core\Mage\Adminhtml\controllers\Catalog\CategoryController.php
public function indexAction()
{
$this->_forward('edit');
}
the it goes to
public function editAction()
{
$params['_current'] = true;
$redirect = false;
$storeId = (int) $this->getRequest()->getParam('store');
$parentId = (int) $this->getRequest()->getParam('parent');
$_prevStoreId = Mage::getSingleton('admin/session')
->getLastViewedStore(true);
if (!empty($_prevStoreId) && !$this->getRequest()->getQuery('isAjax')) {
$params['store'] = $_prevStoreId;
$redirect = true;
}
$categoryId = (int) $this->getRequest()->getParam('id');
$_prevCategoryId = Mage::getSingleton('admin/session')
->getLastEditedCategory(true);
if ($_prevCategoryId
&& !$this->getRequest()->getQuery('isAjax')
&& !$this->getRequest()->getParam('clear')) {
// $params['id'] = $_prevCategoryId;
$this->getRequest()->setParam('id',$_prevCategoryId);
//$redirect = true;
}
if ($redirect) {
$this->_redirect('*/*/edit', $params);
return;
}
if ($storeId && !$categoryId && !$parentId) {
$store = Mage::app()->getStore($storeId);
$_prevCategoryId = (int) $store->getRootCategoryId();
$this->getRequest()->setParam('id', $_prevCategoryId);
}
if (!($category = $this->_initCategory(true))) {
return;
}
$this->_title($categoryId ? $category->getName() : $this->__('New Category'));
/**
* Check if we have data in session (if duering category save was exceprion)
*/
$data = Mage::getSingleton('adminhtml/session')->getCategoryData(true);
if (isset($data['general'])) {
$category->addData($data['general']);
}
/**
* Build response for ajax request
*/
if ($this->getRequest()->getQuery('isAjax')) {
// prepare breadcrumbs of selected category, if any
$breadcrumbsPath = $category->getPath();
if (empty($breadcrumbsPath)) {
// but if no category, and it is deleted - prepare breadcrumbs from path, saved in session
$breadcrumbsPath = Mage::getSingleton('admin/session')->getDeletedPath(true);
if (!empty($breadcrumbsPath)) {
$breadcrumbsPath = explode('/', $breadcrumbsPath);
// no need to get parent breadcrumbs if deleting category level 1
if (count($breadcrumbsPath) <= 1) {
$breadcrumbsPath = '';
}
else {
array_pop($breadcrumbsPath);
$breadcrumbsPath = implode('/', $breadcrumbsPath);
}
}
}
Mage::getSingleton('admin/session')
->setLastViewedStore($this->getRequest()->getParam('store'));
Mage::getSingleton('admin/session')
->setLastEditedCategory($category->getId());
// $this->_initLayoutMessages('adminhtml/session');
$this->loadLayout();
$eventResponse = new Varien_Object(array(
'content' => $this->getLayout()->getBlock('category.edit')->getFormHtml()
. $this->getLayout()->getBlock('category.tree')
->getBreadcrumbsJavascript($breadcrumbsPath, 'editingCategoryBreadcrumbs'),
'messages' => $this->getLayout()->getMessagesBlock()->getGroupedHtml(),
));
Mage::dispatchEvent('category_prepare_ajax_response', array(
'response' => $eventResponse,
'controller' => $this
));
$this->getResponse()->setBody(
Mage::helper('core')->jsonEncode($eventResponse->getData())
);
return;
}
$this->loadLayout();
$this->_setActiveMenu('catalog/categories');
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true)
->setContainerCssClass('catalog-categories');
$this->_addBreadcrumb(Mage::helper('catalog')->__('Manage Catalog Categories'),
Mage::helper('catalog')->__('Manage Categories')
);
$block = $this->getLayout()->getBlock('catalog.wysiwyg.js');
if ($block) {
$block->setStoreId($storeId);
}
$this->renderLayout();
}
-
Where is the line in above function which rediredt to corresponding. store id– MathewCommented Nov 20, 2015 at 6:38
-
@Mathew this function is only for Manage Category click if you want to find different function, then ask new question may be someone can help you Commented Nov 20, 2015 at 6:47