Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Последнии обновления на сайте

00 голосов
6
Доброго времени суток.
Создаю информационный портал, с закрытм контентом, т.е. чтобы полуить нужую информацию пользователю обязательно нужно пройти регистрацию. Возник вопрос можно ли сделать на данной системе или же есть уже готовое решение которое отселживает обновления с Вашего последнего прибытия.
Например: с Вашего последнего прибытия +10 новостей, +32 сообшения на форуме, + 15 статей итд???
1С-Битраикс: Управление сайтом: Стандарт.

Заранее благодарен
спросил 20 Май, 13 от JURIKK (160 баллов)

6 Ответы

00 голосов
Да.. это сделать не трудно..
Все данные для этого уже есть: последнее посещение пользователя, даты новостей и др. элементов инфоблоков..
Остается только собрать всё это вместе..
ответил 20 Май, 13 от Shilen (900 баллов)
00 голосов
СПасибо, простите за глупый вопрос я только неделю с Битриксом разбираюсь: а как мне полуить дату последней активности пользователя.
ответил 20 Май, 13 от JURIKK (160 баллов)
00 голосов
В стандарте если только по дате послейней авторизации http://dev.1c-bitrix.ru/api_help/main/reference/cuser/getbyid.php (поле LAST_LOGIN) или писать самому.
В редакциях с веб-аналитикой
http://dev.1c-bitrix.ru/api_help/statistic/classes/cguest/getlist.php
ответил 06 Авг, 13 от NitroGeN (2,840 баллов)
00 голосов
Спасибо всем кто откликнулся, но столкнулся с проблеммой:
Код
<?
global $USER;
if ($USER->IsAuthorized()){
  $res = CUser::GetList(($by="last_login"), ($order="desc"));
  if ($ar_fields = $res->GetNext()) 
  {
    $last_date = $ar_fields["LAST_LOGIN"];
    $arFilter = Array(
      ">DATE_CREATE"   =>$last_date, 
      "ACTIVE"         =>"Y", 
      "!PROPERTY_SRC"   =>false
    );
    $resCI = CIBlockElement::GetList(Array("SORT"=>"ASC", "PROPERTY_PRIORITY"=>"ASC"), $arFilter, Array("NAME"));
    while($ar_fields = $resCI->GetNext())
    {
      echo $ar_fields["NAME"]."<hr>";
    }
  }
}
?>


Теперь, нзвание носоти выведется при условии если новость будет создана после того как пользователь авторизовался, а не с предидушего его авторизования. Как мне получить дату не вот сейчас когда я уже авторизовался, а вот последнюю до этой? А еще как мне можно получить в этой конструкции названия "Инфоблока" в которой содержится обновленный элемент?

Заанее благодарю.
ответил 07 Ноя, 13 от JURIKK (160 баллов)
00 голосов
Родилась идея сделать это через: OnBeforeUserLogin,
но не знаю какой механизм работы у сессии на Битриксе, чтобы записать дату последнего посещения?
подскажите пожалуйста как записать в сессиию дату последнего посещения.
ответил 13 Фев, 14 от JURIKK (160 баллов)
00 голосов
Всем спасибо за внимание разобрался сам!
ответил 04 Июнь, 14 от JURIKK (160 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 10 Авг, 20 от аноним
+1 голос
1 ответ
0 голосов
1 ответ