Здравствуйте, помогите с функцией...
Мне нужно написать функцию, в которая сгенерирует HTML из php файла шаблона и выдаст рез. HTML в виде строки, чтобы я мог вставить его в любом месте кода. т.е HTML шаблон брался из php файла примерно такого контента, как дам ниже, и в него включаем данные из массива $data функции)
т.е. чтобы я не писал в функции вот такие штуки:
Возможно, мне нужно сипользовать что-то связанное с ob_flush()... подскажите пожалуйста...
Спойлер (Отобразить)
Вот я написал функцию, но это явно не то.. в таком виде не работает..
PHP:
скопировать код в буфер обмена
function generate_layout ($data, $config, $full_layout = false) { $layout_final = ''; $layout = ($full_layout)? JPATH_BASE.DS.'layout_full.php' : JPATH_BASE.DS.'layout.php'; if (file_exists($layout)) $layout_final = include_once($layout); else { $error = 'ERROR: Couldn\'t find layout template file. Is it exists there: <b>"'.$layout.'"</b>? Thank you!'; } } else { $error = 'ERROR: Don\'t have DATA for generating layout! Please provide me an array with correct data. Thank you!'; } return print($layout_final); }
а вот php шаблон в который должны вставлятся данные из массива $data функции
PHP:
скопировать код в буфер обмена
<?if ($data['title']) {?> <h1 class=""><?print $data['title']?></h1> <?if ($data['thumb'] !='') {?> <div class="main_image"> <img src="<?print $data['thumb']?>" alt="<?print $data['title']?>" width="259"/> </div> <?}?> <div class="video-action-tab download-tab"> <?foreach ($data['video_download_links'] as $key=>$link) { if ($link['link'] !='') { $p = ($key !='mobile')? 'p' :'';?> <div class="video_download_links"> <a href="<?print $link['link']?>" target="_blank" class="downloadBtn greyButton"><i></i><span></span> <?print $key.$p?></a> <span class="video-size"> <?print round($link['size']/(1024*1024),2).' Mb.'?></span> </div> <?}?> <?}?> <div class="clear"></div> </div> <div class="clear"></div> <?}?>
|