Добавляем информацию о владельце в данные объектов из списка Похожие.
Определяемся с нужными нам полями с данными владельца. Например нам нужно имя (лежит в поле с системным именем fio) и фото (поле с системным именем imgfile)
Внутри
class Local_Kvartira_View extends Kvartira_View {
}
создаем код функции
protected function getSimilar($categories, $params = array()){
$datas = parent::getSimilar($categories, $params);
if(!empty($datas)){
$users=array();
$fields=array('fio', 'imgurl'); //тут через запятую перечисляем в кавычках системные имена нужных полей
foreach($datas as $v){
$uid=intval($v['user_id']['value']);
$users[$uid]=array();
}
if(!empty($users) && !empty($fields)){
$DBC=DBC::getInstance();
$query='SELECT `user_id`, `'.implode('`,`', $fields).'` FROM '.DB_PREFIX.'_user WHERE user_id IN ('.implode(',', array_keys($users)).')';
$stmt=$DBC->query($query);
if($stmt){
while($ar=$DBC->fetch($stmt)){
$uid=intval($ar['user_id']);
$users[$uid]=$ar;
}
}
foreach($datas as $k=>$v){
$uid=intval($v['user_id']['value']);
if(isset($users[$uid])){
$datas[$k]['_user_info']=$users[$uid];
}
}
}
}
return $datas;
}
Теперь в шаблоне в переменной {$similar_data[x]._user_info} у нас будет массив с данными.
Например
{$similar_data[x]._user_info.fio} - ФИО
{$similar_data[x]._user_info.imgfile} - имя фотки
<img src="{$estate_folder}/img/data/user/{$similar_data[x]._user_info.imgfile}"> - код вставки элемента фотографии в страницу