Голосование в новостях
Создаем инфоблок новости и инфоблок голосование с property код = ID. Запоминаем ID проперти в моём случаи 170.
CModule::IncludeModule("iblock");
$el = new CIBlockElement;
// Проверка на существование оценки
//IBLOCK_ID = инфоблок голосование
$arFilter = Array("IBLOCK_ID"=>70,"CREATED_BY"=>$USER->GetID(),"PROPERTY_ID"=>$_REQUEST["id"], "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter);
$ob = $res->Fetch();
// Проверка на существование оценки
?>
//Добавление оценки
if($_REQUEST["rating"] >=1 && $_REQUEST["rating"] <= 5 && $ob == false && $_REQUEST["id"]>0){
$PROP = array();
$PROP[170] = $_REQUEST["id"];
$arRatingArray = Array(
"PROPERTY_VALUES"=> $PROP,
"MODIFIED_BY" => $USER->GetID(),
"IBLOCK_ID" => 70,
"IBLOCK_SECTION_ID" => false,
"NAME" => $_REQUEST["rating"],
"ACTIVE" => "Y",
);
$PRODUCT_ID = $el->Add($arRatingArray);
}
?>
// Проверка на существование оценки
$arFilter = Array("IBLOCK_ID"=>70,"CREATED_BY"=>$USER->GetID(),"PROPERTY_ID"=>$_REQUEST["id"], "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter);
$ob = $res->Fetch();
// Проверка на существование оценки
?>
<!-- Вывод оценки -->
// оценка темы
$arFilter2 = Array("IBLOCK_ID"=>70,"PROPERTY_ID"=>$_REQUEST["id"], "ACTIVE"=>"Y");
$res2 = CIBlockElement::GetList(Array(), $arFilter2);
while($ob_ocen = $res2->GetNext())
{
$ocenka = $ocenka + $ob_ocen["NAME"];
}
// оценка темы
?>
Оценка темы: =intval($ocenka)?><br><br>
if($ob==false){?><b><a href="?rating=1&id==$_REQUEST["id"]?>">1</a> <a href="?rating=2&id==$_REQUEST["id"]?>">2</a> <a href="?rating=3&id==$_REQUEST["id"]?>">3</a> <a href="?rating=4&id==$_REQUEST["id"]?>">4</a> <a href="?rating=5&id==$_REQUEST["id"]?>">5</a><br>
Оценить тему</b> }
else
{echo"Ваша оценка: ".$ob["NAME"];}?>