public static function view($page_block_template_id, $data = array()) { $view = Model_Page_Block_Template::factory('Page_Block_Template', $page_block_template_id)->view; $file = Kohana::find_file('views/page/block', $view); if (!$file) { return NULL; } return View::factory('page/block/' . $view, $data); }
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(); }
<?php if (isset($preview) and $preview) { ?> <div id="_block_add_form" title="Adicionar bloco" data-page-id="<?php echo $page->id; ?> "> <form> <fieldset> <label for="page_block_template_id">Template</label> <select name="page_block_template_id" id="page_block_template_id"> <?php foreach (Model_Page_Block_Template::factory('Page_Block_Template')->find_all_ordened($page->id) as $_template) { ?> <option data-containers='<?php echo json_encode($_template->containers(), true); ?> ' value="<?php echo $_template->id; ?> "><?php echo $_template->name; ?> </option> <?php } ?> </select> </fieldset>