Количество комментариев при личной переписке

Рискну создать для этого отдельную публикацию (т.к. не нашел ответа в уже имеющихся).

Получилось так, что имею несколько длинных переписок в личной почте, значительно больше 10 комментариев. И они, естественно, все лесенкой строятся. И самые последние комментарии получаются шириной в одно слово =) Другими словами — где и как можно настроить кол-во комментариев в Личных сообщениях, которые будут смещаться «лесенкой» (иметь вложенность), а после того как наберется такое число (например 10), будут выводиться друг под другом. По аналогии с «BLOG_COMMENT_MAX_TREE_LEVEL» для комментов в публикациях.

Спасибо.

UPD.

Сам спросил — сам ответил =) В общем все оказалось просто.

В шаблоне /templates/skin/new/actions/ActionTalk (либо каждый в своем, не new) правим read.tpl.

Объясняю на примере того, что сейчас на snv лежит.

Удаляем код с 30 по 37 строку:
{assign var="nesting" value="-1"}
{foreach from=$aCommentsNew item=aComment name=rublist}
{if $nesting < $aComment.level}       
{elseif $nesting > $aComment.level}     
{section name=closelist1  loop=`$nesting-$aComment.level+1`}</div></div>{/section}
{elseif not $smarty.foreach.rublist.first}
</div></div>
{/if}

И заменяем его на:
{assign var="nesting" value="-1"}
{foreach from=$aCommentsNew item=aComment name=rublist}
{assign var="cmtlevel" value=$aComment.level}					
{if $cmtlevel>$BLOG_COMMENT_MAX_TREE_LEVEL}
{assign var="cmtlevel" value=$BLOG_COMMENT_MAX_TREE_LEVEL}
{/if}
{if $nesting < $cmtlevel}        
{elseif $nesting > $cmtlevel}    	
{section name=closelist1  loop=`$nesting-$cmtlevel+1`}</div></div>{/section}
{elseif not $smarty.foreach.rublist.first}
</div></div>
{/if}


Далее код с 60 по 63 строку:
{assign var="nesting" value="`$aComment.level`"}   
{if $smarty.foreach.rublist.last}
{section name=closelist2 loop=`$nesting+1`}</div></div>{/section}   
{/if}

меняем на код:
{assign var="nesting" value="`$cmtlevel`"}    
{if $smarty.foreach.rublist.last}
{section name=closelist2 loop=`$nesting+1`}</div></div>{/section}    
{/if}


Таким образом комменты в ЛС управляются тем же параметром, которым управляются и обычные комменты, т.е. этим:
define('BLOG_COMMENT_MAX_TREE_LEVEL',7); // максимальная вложенность комментов при отображении

5 комментариев

avatar
надо будет поправить
  • ort
  • 0
avatar
3 раза молодец, плюсую!
avatar
кстати пользуясь случаем хочу спросить, почему ограничение вложенности реализовано с такими сложностями. если бы ветки были сделаны стандартными списками, то ограничить «глубину» можно было бы одним стилем
  • Vilz
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.