/**
  * configure block renderer class per element
  */
 protected function _initElementRendering()
 {
     $typeConfig = Mage::getStoreConfig('firegento_flexcms/types');
     if (is_array($this->_contentElements)) {
         foreach ($this->_contentElements as $element) {
             if (isset($typeConfig[$element->getContentType()])) {
                 $cfg = new Varien_Object($typeConfig[$element->getContentType()]);
                 if (!($renderType = $cfg->getBlockType())) {
                     $rendererType = 'firegento_flexcms/type_default';
                 }
                 $rendererName = 'flexcms_content_render_' . $element->getArea() . '_' . $element->getContentId();
                 $rendererTemplate = $cfg->getBlockTemplate();
                 $rendererContent = new Varien_Object($element->getContent());
                 /** @var Firegento_FlexCms_Block_Type_Abstract $block */
                 $block = Mage::app()->getLayout()->createBlock($rendererType, $rendererName);
                 $block->setTemplate($rendererTemplate);
                 $block->setContentData($rendererContent);
                 $element->setRenderer($block);
             }
         }
     }
 }