/**
  * Ensure that the a database connection exists
  * If not, do load the route
  *
  * @return $this
  */
 public function preDispatch()
 {
     if (Mage::registry('wordpress_controller')) {
         Mage::unregister('wordpress_controller');
     }
     Mage::register('wordpress_controller', $this);
     parent::preDispatch();
     try {
         if (!$this->_canRunUsingConfig()) {
             $this->_forceForwardViaException('noRoute');
             return;
         }
         if ($this->getRequest()->getParam('feed_type')) {
             $this->getRequest()->setParam('feed', $this->getRequest()->getParam('feed_type'));
             // Legacy fix
             if (strpos(strtolower($this->getRequest()->getActionName()), 'feed') === false) {
                 $this->_forceForwardViaException('feed');
                 return;
             }
         }
     } catch (Mage_Core_Controller_Varien_Exception $e) {
         throw $e;
     } catch (Exception $e) {
         Mage::helper('wordpress')->log($e->getMessage());
         $this->_forceForwardViaException('noRoute');
         return;
     }
     // Check for redirects and forwards
     $transport = new Varien_Object();
     Mage::dispatchEvent('wordpress_' . strtolower(substr(get_class($this), strlen('Fishpig_Wordpress_'), -strlen('Controller'))) . '_controller_pre_dispatch_after', array('transport' => $transport, 'action' => $this));
     if ($transport->getForward()) {
         return $this->_forward($transport->getForward()->getAction(), $transport->getForward()->getController(), $transport->getForward()->getModule());
     }
     return $this;
 }