public function getLayout($layoutName, $view) { if (!$this->response->layout instanceof $layoutName) { $this->response->layout = LayoutFactory::get($layoutName, $view); } return $this->response->layout; }
<div style="max-width:60%; width:60%; border-color: black; border-style: solid; border-width: 1px;"> <img src="/framework/core/immagini/simboli/blocco_non_trovato.png" alt="blocco non trovato" /> Il layout <?php echo $layout_name; ?> non è stato trovato. <br /> Percorsi di ricerca : <br /> <ul> <?php foreach (LayoutFactory::get_search_dirs() as $d) { ?> <li><?php echo $d; ?> </li> <?php } ?> </ul> <br /> Layout disponibili : <ul> <?php foreach (LayoutFactory::get_available_layouts() as $ly) { echo "<li>{$ly}</li>"; } ?> </ul> </div>
function render_result($data) { if ($data !== null) { if (is_array($data)) { if (isset($data[Block::MARKER_KEY])) { $block_name = $data[Block::MARKER_KEY]; $block = BlockFactory::create($block_name, $data); return $block->__toString(); } if (isset($data[Layout::MARKER_KEY])) { $layout_name = $data[Layout::MARKER_KEY]; //il layout ha bisogno della vista dell'albero ma forse la posso passare anche così $layout = LayoutFactory::create($layout_name, $data); return $layout->__toString(); } $collected = ""; foreach ($data as $k => $v) { $collected .= render_result($v); } return $collected; } //nel caso in cui non sia un blocco e non sia un layout stampo quello che trovo :) return $data; } }
<?php LayoutFactory::add_directory("/" . FRAMEWORK_CORE_PATH . "/layouts/"); LayoutFactory::add_directory("/include/layouts/");