Голосование в новостях
Создаем инфоблок
новости и инфоблок голосование с
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"];}?>