After I imported categories using unirgy's uRapidFlow, I was unable to edit categories as i was getting error "params['general[path]'] is undefined" on my firebug console.
After going through magento forums I found this fix:
goto: app/design/adminhtml/default/default/template/catalog/category/edit/form.phtml and update:
var path = params['general[path]'].split('/');
to:
var path = url.split('/');
But I override the form.phtml and updated like this:
create file: app\code\community\Technooze\Tadminhtml\Block\Page.php and add below code: (admin didn't pickup custom theme, so, had to rewrite the block)
<?php
class Technooze_Tadminhtml_Block_Page extends Mage_Adminhtml_Block_Page
{
/**
* Class constructor
*
*/
public function __construct()
{
Mage_Adminhtml_Block_Template::__construct();
Mage::getDesign()->setTheme('technooze');
$this->setTemplate('page.phtml');
$action = Mage::app()->getFrontController()->getAction();
if ($action) {
$this->addBodyClass($action->getFullActionName('-'));
}
}
}
create file: app\code\community\Technooze\Tadminhtml\etc\config.xml and add below code:
<?xml version="1.0"?>
<config>
<modules>
<Technooze_Tadminhtml>
<version>0.1.0</version>
</Technooze_Tadminhtml>
</modules>
<global>
<blocks>
<tadminhtml>
<class>Technooze_Tadminhtml_Block</class>
</tadminhtml>
<adminhtml>
<rewrite>
<page>Technooze_Tadminhtml_Block_Page</page>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
Then, create file: app\etc\modules\Technooze_All.xml and add this:
<?xml version="1.0"?>
<config>
<modules>
<Technooze_Tadminhtml>
<active>true</active>
<codePool>community</codePool>
</Technooze_Tadminhtml>
</modules>
</config>
Now, copy file: app\design\adminhtml\default\default\template\catalog\category\edit\form.phtml
to: app\design\adminhtml\default\technooze\template\catalog\category\edit\form.phtml
Search for:
var path = params['general[path]'].split('/');
just before that line add this:
var catPath = '<?php
$categoryId = Mage::app()->getRequest()->getParam('id');
if(!$categoryId){
$parentId = Mage::app()->getRequest()->getParam('parent');
$categoryId = ($parentId ? $parentId : '0');
}
$categoryId = ($categoryId ? $categoryId : Mage::app()->getWebsite(true)->getDefaultStore()->getRootCategoryId());
$category = Mage::getModel('catalog/category')->load($categoryId);
echo $category->getPath();
?>';
params['general[path]'] = params['general[path]'] ? params['general[path]'] : catPath;
After that update i was able to work with categories again as params['general[path]'] was never undefined again.
Not sure if there is any easier method to fix this but that helped me learn something new in magento.