Forums / National / Russian / Тех. поддержка / Не могу понять как поймать уникальное ID в цикле комментариев.

Kopusha
#43185 2017-12-12 11:42

Мне надо на лету добавлять в выводимом html с помощью скрипта у картинок с определенным стилем определенный атрибут. 

Но в TPL комментариев  эта конструкция

<script>
document.addEventListener("DOMContentLoaded",function(){
$('._add-fancy-lone').attr('data-fancybox', 'gallery-lone-{COMMENTS_ROW_ID}');
});
</script>
 
дает ВСЕ комментарии с разными ID как одно последнее, теряется весь смысл.
 
Нужно для каждой картинки с стилем _add-fancy-lone в комментариях добавить аттрибут data-fancybox с уникальным значением для этого комментария. То есть Вася добавил 4 картинки и они собрали свою галерею из 4 картинок в фансибоксе, Петя потом еще 3 и его 3 крутятся в ротации отдельно от Васиных. У меня как ни пробую - всюду атрибут один. Пробовал вне цикла js ставить и через глобальную переменную туда пихать 0 толку ноль. {COMMENTS_ROW_ID} всегда один. Что то я не догоняю)
 
Все получают data-fancybox="gallery-lone-141" хотя у двух комментариев ID 140 141 как ни пихаю.
Два разным коммента с разными ID естественно. 
И не могу добится что бы они не вместе в 1 карусели были. А по отдельности. Вот тут видно что это 2ая картинка из трех, а надо две отдельно и одна отдельно (разные комментарии - разные фансибоксы.)
 

Added 2 minutes later:

UPD!!!
Все... Туплю!

Я в цикле луплю идентичные яваскрипты и последний перезаписывает предыдущие. 

Есть у кого то мысли как можно выкрутится?

Added 34 seconds later:

Я же не могу ВНЕ цикла получить COMMENTS_ROW_ID уникальность?

Added 1 hour later:

Вот так тоже что логично не получается((((

<!-- BEGIN: COMMENTS_ROW -->
<script>
var commentID = '{COMMENTS_ROW_ID}';
</script>

<!-- END: COMMENTS_ROW -->

<script>
document.addEventListener("DOMContentLoaded",function(){
$(".comment").click(function() {
   alert(commentID);
});
});
</script>

Added 1 hour later:

Решил кардинально через 

// Hack for fancybox
document.addEventListener("DOMContentLoaded",function(){
var fancyiii=0;
$("._add-fancy-lone").each(function(){
fancyiii++;
$(this).attr("data-fancybox","gallery-lone-"+fancyiii);
});
});
 
Мне РАЗНЫЕ надо было циферки...Теперь с коммента на другой коммент не перескакивает карусель фансибокса. Но с вопросом выше так и не понял как делать. Если у кого будет терпение расписать буду благодарен)
This post was edited by Kopusha (2017-12-12 14:54, 6 years ago)