Николай Корнаев, все верно - ID проставляется автоматически без возможности влиять на него. Т.к. у Вас используется внешняя система, то и сохранять свой ID вы должны в XML_ID. И стоить обмен на основании XML_ID, а ID оставьте битриксу.
Павел Долженков, а хитростью пробовали? Заведите переменную - название группы (строка), куда будет отправлено сообщение Перед созданием в сообщения в ЖЛ сделайте блок - заполнение переменной и в значение введите:
Код
{=A58788_45747_27557_39561:Name}: Все члены группы [SG{=A58788_45747_27557_39561:GroupId}_K]
Чисто теоретически должно сработать
Ну или попробовать Name или GroupId с printable
Код
{=A58788_45747_27557_39561:Name_printable}
P.S. За правильность первого блока - не могу отвечать, лучше проверить - есть ли такое название
Есть 3 нюанса, которые Вы не предусмотрели: 1) Приведение типов (При выполнении функции SaleFormatCurrency вы можете получить "3 500 рублей"(string) и сранивая с 2000(int), Вы получите - что сравниваете не 3500 и 2000, а 3 и 2000, таким образом у Вас будет неверное сравнение ). 2) У Вас на скринщоте помечено: что товар за 9тыс. бонусов отпускается при 6 тысячах и написано что условие выполняется, хотя это совсем не так 3) Вы делаете запрос в цикле, и нагружаете страницу.
Для исправления ошибок номер 1 и 2, попробуйте "продебажить" значения, которыми Вы оперируете (Вам очень поможет var_dump()). А для исправления третьей ошибки, использовать другой фрагмент кода:
Код
<?
/* @var float Количество бонусов для подсчета */
$userBonus = 0;
/* @var string Количество бонусов для вывода в браузер */
$userBonusPrintable = 0;
if ( \Bitrix\Main\Loader::IncludeModule("sale") )
{
$arUserAccount = CSaleUserAccount::GetByID( $USER->GetID() );
if ( $arUserAccount )
{
$userBonus = $arUserAccount["CURRENT_BUDGET"];
$userBonusPrintable = \SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arUserAccount["CURRENCY"]);
}
}
?>
На счету <?=$userBonusPrintable;?> бонусов
<? foreach ($arElement["PRICES"] as $code => $arPrice): ?>
<div class="inner-shop--button-block">
<a
<? if ( $userBonus > $arPrice["DISCOUNT_VALUE"] ): ?>
data-module="buyoneclick"
data-id="<?= $arElement["ID"] ?>"
class="inner-shop--button">
<? else: ?>
class="inner-shop--button-disabled"
<? endif; ?>
/>
<?= GetMessage("CATALOG_BUY") ?>
</a>
</div>
<? endforeach; ?>
Предположим, что Вы знаете интересующий Вас временной отрезок. Тогда $timeStart и $timeEnd соответственно равны его дате началу и окончания, и находятся в формате сайта.
Если присмотреться, то получается что все варианты изложенные Вами содержат либо дату начала, либо дату окончания в соотетствующем диапазоне. Если воспользоваться маленькой хитростью и хранить даты начала и окончания как 00:00 -> 01:59 (что означает бронирование с 0 до 2 часов), то прекрасно подойдет более короткий вариант:
Сначала нужно сконфигурировать поле - там рядом с галочкой удаления есть меню-"гамбургер". Нажмите и в самом низу всплывающего окошка настройте к какому типу/инфоблоку они привязываются
1) Для начала нужно обновить pecl - у Вас старенький
Код
pecl channel-update pecl.php.net
2) Затем установить php-devel (это не версия php, это его исходники для копиляции). Если у Вас не случится проблем с yum install, то на битрикс это не должно повлиять
Код
yum install php-devel
3) Выполните установку imagick
Код
pecl install imagick
Ну и если ругнется - нужно будет дальше понимать на что. P.S. Если все правильно установит и Вы проверили конфиги и все правильно - нужно сделать service httpd graceful (или если есть возможность service httpd try-restart)
Василий Терентьев написал: В этом случае, группа 1 и 2 не должны видеть стоимость разницы, она идет отдельным свойством.
Либо допиливать, либо делать пресеты. Но пресеты дадут лишь видимость ограничения (т.е. если пользователь сам вывел значение, то он сможет и отредактировать).
Kenigan,приходилось. Вообще приходилось, но не так как Вы указали. По факту отправка веб-формы в б24 это ничто иное как дополнительный кусочек кода в форме создания записи (т.е. если вы будете заполнять веб-форму через API, то отправка не произойдет). Она вызывается через CFormCRM::onResultAdded($iWebformId, $iAnswerId);
По ключевому слову CFormCRM::onResultAdded нагугливаете в bxapi метод и изучаете его. В конце Вы выйдете на битриксовый рест сервис и уже из него можете отправлять все что захотите и как захотите
P.S. Укороченная версия ответа для ленивых: стандартными средствами не приходилось, но собственным кодом - всегда пожалуйста.
Илнар Габдрахманов, здравствуйте) Не могу сказать конкретно, но есть модуль Социальные сервисы, а там есть такая штука как OpenID аутентификация (см. ОК, Google, Facebook). В ЕСИА есть OpenID. Берем код от первого - допиливаем чутка чтобы обращался в ЕСИА и вуаля - все работает
Name Surname написал: 1. Два сайта на одном сервере с одним IP на VMBitrix разнесенные в разные подкаталоги, без настройки многосайтовости. 2. -//- с настроенной многосайтовостью.
В битрикс разрешено иметь 2 сайта на одной версии ядра. То есть, если вы 2 раза скопируете код битрикса в разные папки (/home/bitrix/site1/ и /home/bitrix/site2/), т.е. например будет существовать 2 бд и 2 файла .settings.php - это будет нарушением лицензионного соглашения, даже если оба сайта находятся на 1 сервере и имеют 1 IP. Если оба этих сайта будут ссылаться на одну и ту же директорию bitrix (симлинками) и иметь одну и ту же бд, то без многосайтовости адекватно это работать не будет. По факту ее все равно настраивать.
Иван Иванов, если Вы на главной странице выводить bitrix:catalog, то зачем Вам /catalog/index.php ? Вы же можете вообще тогда его удалить и оставить только то что есть.