| Код |
|---|
<?php
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("StartRatingUpdate", "Update"));
class StartRatingUpdate
{
function Update(&$arFields)
{
if ($arFields['IBLOCK_ID'] == BOXER_IBLOCK_ID) {
$db_props = CIBlockElement::GetProperty(
$arFields['IBLOCK_ID'],
$arFields['ID'],
['sort' => 'asc'],
['CODE' => 'ATT_BXREC_RT']
);
if ($ar_props = $db_props->Fetch()) {
$bxrecRatingVal = $arFields['PROPERTY_VALUES'][$ar_props["ID"]][$ar_props["PROPERTY_VALUE_ID"]]['VALUE'];
if (!empty($bxrecRatingVal)) {
$startRatingCalc = number_format(1000 + 50 * log($bxrecRatingVal), 2, ',', ' ');
CIBlockElement::SetPropertyValueCode($arFields['ID'], "ATT_RBX_RT", $startRatingCalc);
}
}
}
}
}
?> |
Доброго дня! Помогите, не могу разобраться с работой события
|
pavelmbx@gmail.com: 07.11.2019 01:00:00
Что я делаю не так? В коде ниже в переменную $bxrecRatingVal значение "прилетает" только со второго раза. Т.е. я открываю редактирование элемента, заполняю значение свойства, нажимаю сохранить - в переменной пусто. Захожу снова в редактирование элемента и ничего не меняя жму "Сохранить" ещё раз и тогда в переменную попадает заданное мной значение.
|
|
Михаил Базаров: 07.11.2019 08:00:00
Событие запускается при обновлении элемента "OnAfterIBlockElementUpdate" - именно обновление существующего.
Отработайте и "OnAfterIBlockElementAdd" - добавление
|
|
Михаил Базаров: 07.11.2019 08:00:00
А, не внимательно прочитал- итак редактируете существующий элемент.
Но свой поссаж оставлю- мало ли кому пригодится, при добавлении элемента. У вас, вот эта проверка точно выполняется корректно?
|
|
pavelmbx@gmail.com: 07.11.2019 11:00:00
Разобрался.
$bxRecRatingVal = $ar_props['VALUE']; |
Блог-note Заметки по 1С-Битрикс
-
Показать доступный остаток каждого товара в корзине 1С-Битрикс
Задача: показать остаток каждого товара в корзине 1С-Битрикс, что бы покупатель сразу знал предельное колличество товара для покупки.
-
Вывести разделы инфоблока по первым буквам не меняя структуру каталога. Алфавитный указатель
Например: у нас есть инфоблок с большим количеством разделов. И мы хотим, на сайте разбить разделы по буквам. Самый простой способ, это конечно же доб...
-
Следующая/предыдущая новость/статья при просмотре подробной в Битрикс
Странное дело, в Битрикс по умолчанию, отсутсвует функционал для навигации внутри новостей или статей типа: "Следующая/Предыдущая" при подробном прос...
-
Вывести множественное свойство типа файл с названием и весом файла в Битрикс
В этой заметке расскажу как красиво вывести множественное свойство типа файл в инфоблоке 1С-Битрикс. С показом оригинального названия файла, его транс...
-
Почтовое событие на создание нового элемента инфоблока, через API
Иногда при разработке сайта требуется реализовать функционал добавления элементов инфоблока простыми пользователям.Будет достаточно удобно если, после...
-
Создание блога с комментариями, оценками и просмотрами на сайте с 1С-Битрикс
Если на вашем сайте требуется создание раздела с блогом или новостями, статьями. Записям в которых, посетители смогу ставить оценки и комментировать, ...