Пытаюсь к CB прикрутить вывод zoo-материалов пользователя, чей профиль мы просматриваем.
Что сделано:
- в профиле создана страница
- создана кнопка перехода на эту страницу, отображающаяся только если это не ваш профиль
- обычным списком выводятся статьи и ссылки на них
Вот код:
static function getZOOItem($profileID)
{
global $_CB_database;
$sql = "SELECT
id
FROM
".$_CB_database->nameQuote('#__zoo_item')."
WHERE
".$_CB_database->nameQuote('created_by')." = ".$_CB_database->quote($profileID)."
AND
".$_CB_database->nameQuote('application_id')." = '1'
AND
".$_CB_database->nameQuote('type')." IN ('article','photo','video')
AND
".$_CB_database->nameQuote('state')." = '1'
ORDER BY
".$_CB_database->nameQuote('created')." DESC";
$query = $_CB_database->setQuery($sql);
$row = $_CB_database->loadObjectList();
return $row;
}
function postsbyform($option,$uid){
global $_CB_framework, $ueConfig;
require_once (JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_zoo' . DS . 'config.php');
$zoo = App::getInstance('zoo');
$row = HTML_comprofiler::getZOOItem($uid);
$html = "";
ob_start();
?>
<div class="myzooitems">
<ul class="items">
<?php foreach ($row as $data) : ?>
<li>
<?php
$item = $zoo->table->item->get($data->id);
$link = $zoo->route->item($item);
?>
<a href="<?php echo $link; ?>" title="<?php echo $item->name; ?>"><?php echo $item->name; ?><a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php
$html = ob_get_contents();
ob_end_clean();
echo $html;
}
Много всего перерыл, но не понимаю, как вывести всё это как тизер, либо вывести позицию медиа каждой статьи/картинку статьи.
Надо сделать что-то типа этого:
<?php foreach ($this->items as $id => $item) : ?>
<li>
<?php $this->params = $item->getParams('site'); ?>
<?php $type = ($this->renderer->pathExists('item/'.$item->type))? $item->type : 'item'; ?>
<div class="preview hidden <?php echo $type; ?>">
<?php
$layout = 'item.'.($type != 'item' ? $item->type . '.' : '');
echo $this->renderer->render($layout.'teaser', array('view' => $this, 'item' => $item));
?>
</div>
</li>
<?php endforeach; ?>
Но не понимаю, как заменить $this.