Exemplo n.º 1
0
 public function render_block($block, $block_name = NULL)
 {
     $block->data = isset($block->data) ? $block->data : array();
     $block->data = !is_array($block->data) ? (array) @json_decode($block->data, TRUE) : $block->data;
     $data['_block'] = $block;
     $data['_data'] = $block->data;
     $after = View::factory('page/block/_after', $data);
     $view = Model_Page_Block_Template::view($block->page_block_template_id, $data);
     $before = View::factory('page/block/_before', $data);
     if (!$view) {
         return View::factory('page/block/_not_found', ['name' => $block_name])->render();
     }
     // helpers
     $view->helper = Block::factory($block, $block_name, $view);
     if (!isset($view->page)) {
         View::bind_global('page', $this);
     }
     return $before->render() . $view->render() . $after->render();
 }