Есть рекурсивная функция:
private function SortBranch($data, $parent = 0, $level = 0){
}
В ней происходит проверка на то, есть ли для комментариев дочерние комментарии (ответ на комментарий):
if(isset($data[$arr[$i]->{$this->comment_fields['id']}])) {
$this->SortBranch($data, $arr[$i]->{$this->comment_fields['id']}, $this->deepCounter);
}
В этой же функции
SortBranch() формируется шаблон HTML для комментариев:
if ($parent > 0){
$this->rewievs.= '<div class="commentReviewAnswer">
<div class="userPhoto"><img src="'.$this->user_photo.'"></div>
<div class="name"><a href="#">'.$this->user_name.'</a></div>
<div class="date" data-livestamp="'.$this->time.'"></div>
<div class="commentText">
'.$this->comment.'
</div>
</div>';
} else {
$this->comments.= '<div class="commentList">
<div class="photo"><a href="/user/'.$this->id_user.'"><img src="'.$this->user_photo.'"></a></div>
<div class="contentPost">
<div class="rghtBlock">
<div class="name"><a href="/user/'.$this->id_user.'">'.$this->user_name.'</a><div class="settings">'.$this->IsCommentYou($this->authIdUsrer, $this->type, $this->id, $this->id_user).'</div></div>
</div>
<div class="text">'.$this->comment.'</div>
</div>
<div class="infoPost">
<div class="date" data-livestamp="'.$this->time.'"></div>
<div class="answer"><a href="#" class="answer" data="'.HashDataView(array('id' => $this->id, 'is_user'=> $this->id_user, 'type' => $this->type)).'">Answer</a></div>
<div class="like">
<div class="total"><span>'.$this->CountLikes.'</span></div>
<div class="up"><span data="'.LikeHash($this->to, 1, $this->type).'"></span>'.$this->likes['like_total'].'</div>
<div class="down"><span data="'.LikeHash($this->to, 0, $this->type).'"></span>'.$this->likes['like_total'].'</div>
</div>
</div>
ВСТАВИТЬ ЗДЕСЬ ВСЕ ДОЧЕРНИЕ КОММЕНТАРИИ
</div>';
}
Вопрос в том, как мне в одном потоке сформировать шаблон HTML, в котором будет комментарий родитель и все дочерние (ответа) в месте "ВСТАВИТЬ ЗДЕСЬ ВСЕ ДОЧЕРНИЕ КОММЕНТАРИИ".
В функции
SortBranch сейчас я проверяю переменную $parent на > 0. Тем самым определяю, где родительский комментарий, а где дочерние к нему. Таким разделением сейчас создается 2 html шаблона (2 строки). Второй (дочерние комментарии) нужно вставить в первый (родительский комментарий)