2014-06-11 11:58:32 +03:00
|
|
|
{**
|
|
|
|
* Дерево комментариев
|
|
|
|
*
|
2014-11-06 18:51:24 +02:00
|
|
|
* @param array $comments Комментарии
|
|
|
|
* @param integer $maxLevel
|
2014-06-11 11:58:32 +03:00
|
|
|
*
|
2015-01-27 15:25:52 +02:00
|
|
|
* @param array $commentParams
|
2014-11-25 11:47:09 +02:00
|
|
|
* @param boolean $useVote Показывать или нет голосование
|
|
|
|
* @param boolean $showReply Показывать или нет кнопку Ответить
|
|
|
|
* @param boolean $useScroll
|
2014-11-06 18:51:24 +02:00
|
|
|
* @param integer $authorId
|
|
|
|
* @param string $dateReadLast
|
|
|
|
* @param boolean $forbidAdd
|
2014-06-11 11:58:32 +03:00
|
|
|
*}
|
|
|
|
|
2017-01-30 02:39:09 +02:00
|
|
|
{component_define_params params=[ 'hookPrefixComment', 'authorId', 'authorText', 'commentParams', 'comments', 'dateReadLast', 'forbidAdd', 'maxLevel', 'showReply' ]}
|
2016-04-07 12:40:28 +03:00
|
|
|
|
2014-06-11 11:58:32 +03:00
|
|
|
{* Текущая вложенность *}
|
2014-11-06 18:51:24 +02:00
|
|
|
{$currentLevel = -1}
|
2014-06-11 11:58:32 +03:00
|
|
|
|
|
|
|
{* Построение дерева комментариев *}
|
2016-04-07 12:40:28 +03:00
|
|
|
{foreach $comments as $comment}
|
2014-11-06 18:51:24 +02:00
|
|
|
{* Ограничиваем вложенность комментария максимальным значением *}
|
|
|
|
{$commentLevel = ( $comment->getLevel() > $maxLevel ) ? $maxLevel : $comment->getLevel()}
|
|
|
|
|
|
|
|
{* Закрываем блоки-обертки *}
|
|
|
|
{if $currentLevel > $commentLevel}
|
|
|
|
{section closewrappers1 loop=$currentLevel - $commentLevel + 1}</div>{/section}
|
|
|
|
{elseif $currentLevel == $commentLevel && ! $comment@first}
|
|
|
|
</div>
|
|
|
|
{/if}
|
|
|
|
|
|
|
|
{* Устанавливаем текущий уровень вложенности *}
|
|
|
|
{$currentLevel = $commentLevel}
|
|
|
|
|
|
|
|
{* Вспомогательный блок-обертка *}
|
2015-05-07 15:45:21 +03:00
|
|
|
<div class="ls-comment-wrapper js-comment-wrapper" data-id="{$comment->getId()}">
|
2014-11-06 18:51:24 +02:00
|
|
|
|
|
|
|
{* Комментарий *}
|
2015-01-27 15:25:52 +02:00
|
|
|
{block 'comment_tree_comment'}
|
|
|
|
{component 'comment'
|
2017-01-30 02:39:09 +02:00
|
|
|
hookPrefix = $hookPrefixComment
|
2015-01-27 15:25:52 +02:00
|
|
|
comment = $comment
|
2016-04-07 12:40:28 +03:00
|
|
|
dateReadLast = $dateReadLast
|
|
|
|
authorId = $authorId
|
|
|
|
authorText = $authorText
|
|
|
|
showReply = ! $forbidAdd || $showReply
|
|
|
|
params = $commentParams}
|
2015-01-27 15:25:52 +02:00
|
|
|
{/block}
|
2014-11-06 18:51:24 +02:00
|
|
|
|
|
|
|
{* Закрываем блоки-обертки после последнего комментария *}
|
|
|
|
{if $comment@last}
|
|
|
|
{section closewrappers2 loop=$currentLevel + 1}
|
|
|
|
</div>
|
|
|
|
{/section}
|
|
|
|
{/if}
|
2014-06-11 11:58:32 +03:00
|
|
|
{/foreach}
|