<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Не могу понять как поймать уникальное ID в цикле комментариев.</title>
		<link>https://www.cotonti.com</link>
		<description>Last topic posts</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Wed, 15 Apr 2026 03:45:22 -0000</pubDate>

		<item>
			<title>Roffun</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8483&amp;d=1#43193">#43193</a> <strong>Kopusha: </strong>
<p>Кстати спрошу сразу что бы не забыть - вот к примеру мне этот кусочек js нужен исключительно в комментах. А бывают еще более редкие случаи - к примеру js только на 1 стенделоне плагина. По уму пихать его в код прямо в tpl или все таки выносить в js.js через rc подключаемый? </p>
</blockquote>

<p>Если скрипт нужен точечно, и это выражение, а не библиотека какая-нибудь, то лучше в конкретном файле tpl выводить, тем более в приведенном выше примере скрипт сработает по событию onload.</p>

<p>В случае с cooments.tpl - файл выводится только в комментариях, поэтому удобно в него добавить. Если standalone плагин, то можно добавить конкретно в его tpl файл, например для плагина "кто онлайн" это файл whosonline.tpl.  А если добавлять через rc файл шаблона или в глобальных файлах (header.tpl footer.tpl) , то нужно будeт условный оператор проверочный добавить, чтобы выводить в конкретном месте.</p>
]]></description>
			<pubDate>Wed, 13 Dec 2017 15:13:22 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43195]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8483&amp;d=1#43192">#43192</a> <strong>Roffun: </strong>
<p>В общем придумал решение</p>
</blockquote>

<p>Working like a charm straight out of the box!</p>

<p>Сам я так сложно смог бы js написать, спасибо большое.</p>
<p class="updated"><strong>Added 2 minutes later:</strong></p><p>Кстати спрошу сразу что бы не забыть - вот к примеру мне этот кусочек js нужен исключительно в комментах. А бывают еще более редкие случаи - к примеру js только на 1 стенделоне плагина. По уму пихать его в код прямо в tpl или все таки выносить в js.js через rc подключаемый? </p>
]]></description>
			<pubDate>Wed, 13 Dec 2017 08:52:56 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43193]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<p>В общем придумал решение, правда тестировал на <span style="color:rgb(119,119,119);font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;text-align:justify;">comments.tpl </span> по умолчанию, а ссылку на файлик увидел уже после, если не разберетесь с примером, завтра на прикрепленном файле применю, а пока покажу пример реализации по умолчанию, в нем достаточно изменить:</p>

<pre class="brush:php;gutter:false;toolbar:false;" style="font-size:15px;background-image:url(&quot;../img/code-blueprint.png&quot;);">
&lt;div class="comments2"&gt;</pre>

<p>на </p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;div class="comments2" data-com-id="{COMMENTS_ROW_ID}"&gt; </pre>

<p>и скрипт:</p>

<pre class="brush:jscript;gutter:false;toolbar:false;">
&lt;script&gt;
function fancyDataSet(){   
var fancy = document.querySelectorAll('[data-com-id]');
for (var i = 0; i &lt; fancy.length; i++) {
var galleryLone = fancy[i].getAttribute('data-com-id');      
Array.prototype.filter.call(document.querySelectorAll('[data-com-id="'+galleryLone+'"] a'), function(el){if(/.(jpg|jpeg|png|gif)$/i.test(el.href) === true){el.setAttribute('data-fancybox','gallery-lone-'+galleryLone);};});
  }
}
window.addEventListener('load', fancyDataSet); &lt;/script&gt;   
&lt;/script&gt;</pre>

<p>Это по умолчанию в comments.tpl:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- BEGIN: COMMENTS_ROW --&gt;
				&lt;div class="comments1"&gt;
					&lt;p&gt;{COMMENTS_ROW_AUTHOR_AVATAR}&lt;/p&gt;
					&lt;p&gt;&lt;a href="https://www.cotonti.com/{COMMENTS_ROW_URL}" id="c{COMMENTS_ROW_ID}"&gt;{COMMENTS_ROW_ORDER}.&lt;/a&gt; {COMMENTS_ROW_AUTHOR}&lt;/p&gt;
					&lt;p&gt;{COMMENTS_ROW_DATE}&lt;/p&gt;
				&lt;/div&gt;
				&lt;div class="comments2" data-com-id="{COMMENTS_ROW_ID}"&gt;
					&lt;p&gt;{COMMENTS_ROW_TEXT}&lt;/p&gt;
					{COMMENTS_ROW_ADMIN}{COMMENTS_ROW_EDIT}
				&lt;/div&gt;
				&lt;hr class="clear marginbottom10" /&gt;
&lt;!-- END: COMMENTS_ROW --&gt;</pre>

<p> </p>
]]></description>
			<pubDate>Wed, 13 Dec 2017 01:44:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43192]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8483&amp;d=1#43190">#43190</a> <strong>Roffun: </strong>
<p>В comments.tpl код по умолчанию ?</p>

<p>Картинки каким образом загружаются в комментарии или это просто ссылки ?</p>

<p>Картинки являются ссылками, и у них нужно добавить параметр data- со своим классом + id комментария, я правильно понял ?</p>

<p>Немного позже попытаюсь воспроизвести у себя ситуацию, когда код под рукой, удобнее решение видеть.</p>
</blockquote>

<p>Тут кусок кода и пару мыслей)</p>

<p>https://fex.net/#!080315840819</p>

<p> </p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 22:53:27 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43191]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<p>В comments.tpl код по умолчанию ?</p>

<p>Картинки каким образом загружаются в комментарии или это просто ссылки ?</p>

<p>Картинки являются ссылками, и у них нужно добавить параметр data- со своим классом + id комментария, я правильно понял ?</p>

<p>Немного позже попытаюсь воспроизвести у себя ситуацию, когда код под рукой, удобнее решение видеть.</p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 22:28:20 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43190]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>В принципе сделал счетчиком простым - у 1 коммента id1, у второго id2 и тд - а не их родные id, тоже работает. А события пробовал разные-разные. </p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 22:26:25 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43189]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8483&amp;d=1#43185">#43185</a> <strong>Kopusha:</strong>

<div>Нужно для каждой картинки с стилем <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">_add-fancy-lone в комментариях добавить аттрибут data-fancybox</span></div>
</blockquote>

<p>Что за стиль такой ? Возможно имели ввиду class ?</p>

<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8483&amp;d=1#43187">#43187</a> <strong>Kopusha: </strong>

<pre class="brush:xml;gutter:false;toolbar:false;">
  alert(fancyid); перечисляет красиво от 165 до 161 все 4 id комментариев.

а вот в коде html уже data-fancybox="161" у ВСЕХ ссылок внутри дива comment-body

Пробовал как внутри цикла комментариев так и снаружи - data-fancybox="161" у ВСЕХ

</pre>

<p> </p>
</blockquote>

<p>Возможно не успевает загрузиться параметр, я недавно для своих нужд делал галерею на js, тоже некоторые параметры не видело, оказалось нужно было вешать событие <a href="https://www.w3schools.com/jsref/event_onload.asp" rel="nofollow">onload</a>.</p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 22:24:09 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43188]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;div class="comment-body _sortimages" data-id="{COMMENTS_ROW_ID}"&gt; 
{COMMENTS_ROW_TEXT}
&lt;/div&gt;

&lt;script&gt;	                        
	var getid = document.getElementsByClassName('comment-body');
	for(var i=0, l=getid.length; i&lt;l; i++){
		 var fancyid = getid[i].getAttribute("data-id");
		 alert(fancyid);
		 $('.comment-body').each(function(){
			 $(".comment-body a").attr("data-fancybox", fancyid);
		 });	
	}
&lt;/script&gt;

 alert(fancyid); перечисляет красиво от 165 до 161 все 4 id комментариев.

а вот в коде html уже data-fancybox="161" у ВСЕХ ссылок внутри дива comment-body

Пробовал как внутри цикла комментариев так и снаружи - data-fancybox="161" у ВСЕХ

</pre>

<p> </p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 20:04:23 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43187]]></link>
		</item>
		<item>
			<title>Macik</title>
			<description><![CDATA[<p>`<span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;text-align:justify;background-color:rgb(255,255,255);">COMMENTS_ROW_ID</span>` меняется только внутри шаблона комемнтария при проходе цикла вывода комментов.</p>

<p>Поэтому один из вариантов примерно <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">такой: </span></p>

<p><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">- в шаблоне комментариев сделать контейнер с data-id соотв. ID коммента, </span><br />
 </p>

<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;div class="commentbox" data-id="{COMMENTS_ROW_ID}"&gt; 
...
&lt;/div&gt;</pre>

<p>В скрипте (после загрузки всей ленты комментов, или при ее обновлении) пробегаем по всем элементам `.commentbox` и назначаем соотв. ID внутренним элментам типа `img`.</p>
]]></description>
			<pubDate>Tue, 12 Dec 2017 15:53:59 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43186]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Мне надо на лету добавлять в выводимом html с помощью скрипта у картинок с определенным стилем определенный атрибут. </p>

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

<div>&lt;script&gt;</div>

<div>document.addEventListener("DOMContentLoaded",function(){</div>

<div>$('._add-fancy-lone').attr('data-fancybox', 'gallery-lone-{COMMENTS_ROW_ID}');</div>

<div>});</div>

<div>&lt;/script&gt;</div>

<div> </div>

<div>дает ВСЕ комментарии с разными ID как одно последнее, теряется весь смысл.</div>

<div> </div>

<div>Нужно для каждой картинки с стилем <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">_add-fancy-lone в комментариях добавить аттрибут data-fancybox с уникальным значением для этого комментария. То есть Вася добавил 4 картинки и они собрали свою галерею из 4 картинок в фансибоксе, Петя потом еще 3 и его 3 крутятся в ротации отдельно от Васиных. У меня как ни пробую - всюду атрибут один. Пробовал вне цикла js ставить и через глобальную переменную туда пихать 0 толку ноль. {COMMENTS_ROW_ID} всегда один. Что то я не догоняю)</span></div>

<div> </div>

<div>Все получают <span class="webkit-html-attribute-name" style="color:rgb(34,34,34);font-family:Menlo, monospace;font-size:11px;white-space:pre-wrap;">data-fancybox</span><span style="color:rgb(34,34,34);font-family:Menlo, monospace;font-size:11px;white-space:pre-wrap;background-color:rgb(255,255,255);">="</span><span class="webkit-html-attribute-value" style="color:rgb(34,34,34);font-family:Menlo, monospace;font-size:11px;white-space:pre-wrap;">gallery-lone-141</span><span style="color:rgb(34,34,34);font-family:Menlo, monospace;font-size:11px;white-space:pre-wrap;background-color:rgb(255,255,255);">" хотя у двух комментариев ID 140 141 как ни пихаю. </span></div>

<div><span style="color:rgb(34,34,34);font-family:Menlo, monospace;font-size:11px;white-space:pre-wrap;background-color:rgb(255,255,255);"><img alt="" src="http://portal30.ru/public/files/pfs/1879/36/file_594.png" /></span></div>

<div>Два разным коммента с разными ID естественно. </div>

<div><img alt="" src="http://portal30.ru/public/files/pfs/1879/36/file_595.png" /></div>

<div>И не могу добится что бы они не вместе в 1 карусели были. А по отдельности. Вот тут видно что это 2ая картинка из трех, а надо две отдельно и одна отдельно (разные комментарии - разные фансибоксы.)</div>

<div><img alt="" src="http://portal30.ru/public/files/pfs/1879/36/file_596.png" /></div>

<div> </div>
<p class="updated"><strong>Added 2 minutes later:</strong></p><p><strong>UPD!!!<br />
Все... Туплю!</strong></p>

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

<p>Есть у кого то мысли как можно выкрутится?</p>
<p class="updated"><strong>Added 34 seconds later:</strong></p><p>Я же не могу ВНЕ цикла получить <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;text-align:justify;background-color:rgb(255,255,255);">COMMENTS_ROW_ID уникальность?</span></p>
<p class="updated"><strong>Added 1 hour later:</strong></p><p>Вот так тоже что логично не получается((((</p>

<div>&lt;!-- BEGIN: COMMENTS_ROW --&gt;</div>

<div>&lt;script&gt;</div>

<div>var <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">commentID</span> = '{COMMENTS_ROW_ID}';</div>

<div>&lt;/script&gt;</div>

<p>&lt;!-- END: COMMENTS_ROW --&gt;</p>

<div>&lt;script&gt;</div>

<div>document.addEventListener("DOMContentLoaded",function(){</div>

<div>$(".comment").click(function() {</div>

<div>   alert(commentID);</div>

<div>});</div>

<div>});</div>

<div>&lt;/script&gt;</div>
<p class="updated"><strong>Added 1 hour later:</strong></p><p>Решил кардинально через </p>

<div>// Hack for fancybox</div>

<div>document.addEventListener("DOMContentLoaded",function(){</div>

<div>var fancyiii=0;</div>

<div>$("._add-fancy-lone").each(function(){</div>

<div>fancyiii++;</div>

<div>$(this).attr("data-fancybox","gallery-lone-"+fancyiii);</div>

<div>});</div>

<div>});</div>

<div> </div>

<div>Мне РАЗНЫЕ надо было циферки...Теперь с коммента на другой коммент не перескакивает карусель фансибокса. Но с вопросом выше так и не понял как делать. Если у кого будет терпение расписать буду благодарен)</div>
]]></description>
			<pubDate>Tue, 12 Dec 2017 11:42:27 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/forums?m=posts&q=8483&d=0#post43185]]></link>
		</item>
	</channel>
</rss>