как в компоненте достать файл шаблона без вывода информации?

  • 5 Ответов
  • 276 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

kontrast

  • ***
  • 123
  • 2
мне надо сгенерировать файл в компоненте
тоесть мне ненадо его выводить а надо только достать, подставить свои значения и сохранить на диске
через контролер и такс перекинул задачу в хелпер с функциями
достал данные
но незнаю как достать нужный мне шаблон из папки
подскажите решение

*

AlekVolsk

  • ********
  • 6301
  • 336
достать шаблон вида компонента - это значит достать уже готовый HTML, который этот шаблон выдает, вы уверены, что именно это вам нужно?
если вам не нужна разметка, а только голая структура данных, то вам необходима модель компонента, а не шаблон

*

kontrast

  • ***
  • 123
  • 2
мне надо сохранить например в файл /cat.txt
HTML того как выводиться эта категория
тоесть
<div class="cat"><h2>cat title</h2>...материалы, подкатегории и т д </div>
тоесть мне надо достать шаблон категории и запихнуть туда данные которые я уже имею
и сохранить это все в файл
данные я достал
знаю куда и как записать
но как конвертнуть имеющиеся обьект категории в HTML незнаю

*

kontrast

  • ***
  • 123
  • 2
тоесть незнаю как получить текстовую строчку в соотвествии с шаблоном

*

AlekVolsk

  • ********
  • 6301
  • 336
Код: php
	public function renderView($name, $componentName, $format = 'raw', $params = array())
{
$name = ucfirst(strtolower($name));
$componentName = ucfirst(strtolower($componentName));
$format = (!trim($format)? 'raw' : strtolower($format));
$model = JModelLegacy::getInstance($name, $componentName.'Model');
$model->setState('catid', $params['catid']);
include_once JPATH_COMPONENT.'/views/'.strtolower($name).'/view.'.$format.'.php';
$className = $componentName.'View'.$name;
$view = new $className();
$view->setModel($model, true);
$view->catid = $params['catid'];
ob_start();
$view->display();
$out = ob_get_clean();
return $out;
}
« Последнее редактирование: 16.03.2016, 19:37:56 от AlekVolsk »

*

AlekVolsk

  • ********
  • 6301
  • 336
обратите внимание на формат: HTML может выдать не только вид, но и всю страницу основного шаблона вместе с видом компонента, raw гарантированно выдаст только вид компонента
если нужный вид не имеет файла view.raw.php, то сделайте копию view.html.php и переименуйте соответственно (по возможности, есс-но)

PS: а зачем вам?