<?
if (CModule::IncludeModule("iblock")):
CModule::IncludeModule("file");
?>
<?
global $USER;
$id = $USER->GetID();
?>
<?
//Выбираем все элементы инфоблока 1 (новости) по с фильтром на ид пользователя.
$arFilter = Array( "IBLOCK_ID"=>IntVal(1),"ACTIVE"=>"Y" , "!PROPERTY_SRC"=>false , "PREVIEW_TEXT_TYPE"=>'html' , "!PROPERTY_read_VALUE" => $id , "!PROPERTY_favorit_VALUE"=> $id);
$res = CIBlockElement::GetList(Array("SORT"=>"ASC", "PROPERTY_PRIORITY"=>"ASC"), $arFilter, Array("DATE_ACTIVE_FROM" , "NAME","CREATED_DATE","ACTIVE_FROM" , "ID" , "PREVIEW_TEXT" ,"PREVIEW_TEXT_TYPE", "PREVIEW_PICTURE" , "PROPERTY_read", "PROPERTY_BLOG_COMMENTS_CNT") , Array("nPageSize"=>10));
?>
Что то не прет хотя сделал как написано
Цитата
PROPERTY_<PROPERTY_CODE>_VALUE - фильтр по значениям списка для свойств типа "список" (Маска), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
global $DB, $USER;
$user_id = intval($USER->GetID());
CModule::IncludeModule("iblock");
CModule::IncludeModule("file");
$db_props = CIBlockElement::GetProperty (1, 3, array("sort" => "asc"), Array("CODE"=>"favorit"));
$add = true;
while($ar_props = $db_props->Fetch()){
//ищем значение для данного пользователя c текущем
if($ar_props[VALUE]==$user_id) // если нашли то не будем добавлять
$add=false;
}
//Если в массиве нету нечего то нужно добавить значение
if($add==true){
$PROPERTY_CODE = "favorit";
$PROPERTY_VALUE = $user_id;
// Установим новое значение для данного свойства данного элемента
CIBlockElement::SetPropertyValuesEx(3, false, array($PROPERTY_CODE => $PROPERTY_VALUE));
print '22';
}
Затирает все значени а мне нужно чтобы обнавил или создал новое не трагая старые значения посмотрите где я ошибся
Добрый день. Есть свой массив для фильтра $arrFilter = array ("!favorite"=>3);
//favorite это собственное поле созданое в инфоблоке Привязка к пользователю множественное
В компоненте восстанавливаю использовать фильтер указываю свою переменную побывал $arrFilter , arrFilter , {$arrFilter}
Мне нужно использовать фильтер если в моем фильтре есть favorite = 3 то эти элементы не выводить как это сделать правельно? а то чето не получается может что то не так делаю
я посмотрел твой вариант, да он прикольный но заказчику не не нравиться такой варианся пользователей будет много этот элемент может так раздутся что его редактировать будет невозможно.
нужно сделать избранное прочитаное для каждого пользователя при выводе нужно проверить если прочитано т о не выводим если избраное тоже не выводим, но также нужно сохранить постраничку навигацию.
у меня есть таблица с id_elemet , id_user , id_visible есть инфоблок где хранятся элементы.
мне нужно сделать выборку элементов + сравнить если значение в этой моей таблице. делаю иза того что нужна постраничка а если я в шаблоне буду сравнивать и тупо не выводить то постраничка кривая будет.
Если установлено в таблице балы за сообщения. 10=1. то после того как пользователь наберет 10 сообщений +1 по репе? И потом за каждое сообщение еще +1 балл?
UP. Вроде договорилися с закасщиком о балах за сообщения как предлагает сам битрикс. Сообщений куча у пользователей а звания не показываются где их врубать. Скин форума оранживый.
страница была в cp1251 а сообщение в утф8 и две страки разной кодировки пытались записатся в базу в результате облом, текст сообщения не записывался в базу.
также заметил особенось при получении нового ID через GetBYID ссылка на детальный просмотр (DETAIL_PAGE_URL) была ID на 1 больше почему так не известно.