Когда-то давно читал у Антона Долганина , а недавно мне нужно было реализовать подобную задачу но с поддержкой AJAX.
Если делать так как написал Антон, то опрос (с аяксом) подключается выше тела новости, а он вполне может быть и в самой новости и после нее.
В моем случае разница только в файле component_epilog.php
С таким кодом необходимо наличие jquery на сайте.  
					Если делать так как написал Антон, то опрос (с аяксом) подключается выше тела новости, а он вполне может быть и в самой новости и после нее.
В моем случае разница только в файле component_epilog.php
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
 global $idVote;
 echo preg_replace_callback(
 "/#VOTE_ID_([\d]+)#/is".BX_UTF_PCRE_MODIFIER,
 create_function('$matches', 'ob_start();
 echo("<div id=vote_news_$matches[1]></div>");
 global $idVote;
 $idVote=$matches[1];
 $retrunStr = @ob_get_contents();
 ob_get_clean();
 return $retrunStr;'),
 $arResult["CACHED_TPL"]);
?>
<? if($idVote):?>
<? //делаем блок невидимым на всякий случай, если опрос внутри новости, иначе прыгнет снизу в необходимое место?> 
<div id="city_vote" style="display:none;">
<?$APPLICATION->IncludeComponent(
    "bitrix:voting.current",
    "voting_current_ajax",
    Array(
        "CHANNEL_SID" => "INTERVIEW",
        "VOTE_ID" => $idVote,
        "VOTE_ALL_RESULTS" => "N",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "3600",
      "CACHE_NOTES" => "",
      "AJAX_MODE" => "Y",
      "AJAX_OPTION_JUMP" => "N",
      "AJAX_OPTION_STYLE" => "Y",
      "AJAX_OPTION_HISTORY" => "N",
      "AJAX_OPTION_ADDITIONAL" => ""
   ),$component
);?>
</div>
<script type="text/javascript">
$(document).ready(function(){
     //сначала клонируем опрос вместе с событиями, потом вставляем в нужное место, иначе не переносятся его события
        $("#city_vote div:first").clone(true).appendTo("#vote_news_<?=$idVote?>");
     //потом очищаем контейнер
     $("#city_vote").empty();
});
</script>
<?endif?>
  |