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

kontrast

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

AlekVolsk

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

kontrast

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

kontrast

  • Захожу иногда
  • 122
  • 2 / 0
тоесть незнаю как получить текстовую строчку в соотвествии с шаблоном
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Код: 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, 17:37:56 от AlekVolsk »
*

AlekVolsk

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

PS: а зачем вам?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться