| Цитата |
|---|
Андрей Николаев написал: Здравствуйте, Карина Васильева !
Дело в том, что нельзя просто так взять и добавить опрос в живую ленту 1С-Битрикс.
1) Сначала вы должны создать опрос (vote) с типом NOTIFY = I и CHANNEL_ID = 1, конечно же не просто создать опрос (ну и собственно вопросы и ответы). 2) Далее вы должны создать сообщение в блок (blog post) - обязательно учтите - UF_BLOG_POST_IMPRTNT = 0 и UF_BLOG_POST_VOTE = id вашего опроса 3) Далее вы должны создать сообщение в соц.ленту, указывая параметры EVENT_ID = blog_post, MODULE_ID = blog, RATING_TYPE_ID = BLOG_POST, ENTITY_TYPE = U, URL = ссылка на сообщение из блога, USER_ID = автора записи и еще несколько параметров, указывающие связь с конкретным постом (p.s. опрос должен быть создан от того же пользователя) 4) Выдать права на чтение записи (CSocNetLogRights::Add - и ижеподобные)
В целом как-то так.
P.S. И кстати не обольщайтесь: хоть в базе и есть тип содержимого - html, по факту все сообщения в блогах это BB-коды. И этот параметр почти ни на что не влияет - html'а как не было, так и нет. |
почемуто не получаетса. опрос созданий через админ часть сайта. можете подсказать почему? сообщение в ЖЛ есть но опрос не прикреплен к нему
$date = date('d.m.Y H:i:s', time());
$arFields = array(
"TITLE" => "blog title",
"DETAIL_TEXT" => "blog body",
"BLOG_ID" => 1,
"AUTHOR_ID" => 1,
"DATE_PUBLISH" => $date, // дада
"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH,
"ENABLE_TRACKBACK" => 'N',
"ENABLE_COMMENTS" => 'Y',
"PATH" => '/company/personal/user/#user_id#/blog/#post_id#/',
"HAS_PROPS" => 'Y',
"SOCNET_RIGHTS" => 'U1',
"UF_BLOG_POST_IMPRTNT" => 0,
"UF_BLOG_POST_VOTE" => 44,
);
$ID = CBlogPost::Add($arFields);
$arEvent = array (
'EVENT_ID' => 'blog_post_vote',
'=LOG_DATE' => 'now()',
'TITLE_TEMPLATE' => '#USER_NAME# добавил(а) сообщение "#TITLE#" в блог',
'TITLE' => "soc title",
'MESSAGE' => "soc body",
'TEXT_MESSAGE' => "soc text",
'MODULE_ID' => 'blog',
'CALLBACK_FUNC' => false,
'SOURCE_ID' => $ID,
'ENABLE_COMMENTS' => 'Y',
'RATING_TYPE_ID' => 'BLOG_POST',
'RATING_ENTITY_ID' => 'BLOG_POST',
'ENTITY_TYPE' => 'U',
'ENTITY_ID' => '1',
'USER_ID' => '1',
'URL' => '/company/personal/user/#user_id#/blog/'.$ID.'/',
'RATING_ENTITY_ID' => $ID,
'TRANSFORM' => 'N',
'SITE_ID' => 's1'
);
$logID = CSocNetLog::Add($arEvent);