If I take a look at the line 104 your error logs are complaining about, I see the following
#File: app/code/core/Mage/Adminhtml/Controller/Action.php
protected function _setActiveMenu($menuPath)
{
$this->getLayout()->getBlock('menu')->setActive($menuPath);
return $this;
}
It looks like Magento's trying to grab a reference to the menu
block, but it can't became some customization to your system has removed this menu, and then tried to call setActive
on a non-object.
$layout = $this->getLayout();
$block = $layout->getBlock('menu');
$block->setActive($menuPath);
So, your first question should be what removed this menu. Possibilities include
- A custom module
- Someone's hacked some core code
- Your admin layout XML files are somehow inaccesible to Magento, and the menu was never added
Based on the rest of your question, and the other errors youryou're seeing (a missing mage_banners
table), it sounds like your best bet may be finding a Magento professional to help get your site repaired. IT It seems like these issues may be the only the tip of the iceberg.