Вот таким образом обновляем пользовательские поля с ДА НЕТ в битриксе.
Используется true false. (1 0 — не срабатывает)
Подробнее
-
bitrix обновить пользовательское поле да- нет
-
bitrix быстрое выставление фильтров категорий.
Если их нереально дохера.
1 в php init добавляем Jquery1234if ($_SERVER["PHP_SELF"] == '/bitrix/admin/cat_section_edit.php') {$asset = \Bitrix\Main\Page\Asset::getInstance();$asset->addJs($APPLICATION->GetTemplatePath('bundle/js/jquery.js'));} -
битриксовский скрипт копирования инфоблоков
скприп копирования инфоблоков, который взят из курса битрикс- framwork разработчик.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677CModule::IncludeModule("iblock");if(intval($_REQUEST["IBLOCK_ID_FIELDS"])>0){$bError = false;$IBLOCK_ID = intval($_REQUEST["IBLOCK_ID_FIELDS"]);$ib = new CIBlock;$arFields = CIBlock::GetArrayByID($IBLOCK_ID);$arFields["GROUP_ID"] = CIBlock::GetGroupPermissions($IBLOCK_ID);$arFields["NAME"] = $arFields["NAME"]."_new";unset($arFields["ID"]);if($_REQUEST["IBLOCK_TYPE_ID"]!="empty")$arFields["IBLOCK_TYPE_ID"]=$_REQUEST["IBLOCK_TYPE_ID"];$ID = $ib->Add($arFields);if(intval($ID)<=0)$bError = true;if($_REQUEST["IBLOCK_ID_PROPS"]!="empty")$iblock_prop=intval($_REQUEST["IBLOCK_ID_PROPS"]);else$iblock_prop=$IBLOCK_ID;$iblock_prop_new = $ID;$ibp = new CIBlockProperty;$properties = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$iblock_prop));while ($prop_fields = $properties->GetNext()){if($prop_fields["PROPERTY_TYPE"] == "L"){$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"),Array("IBLOCK_ID"=>$iblock_prop, "CODE"=>$prop_fields["CODE"]));while($enum_fields = $property_enums->GetNext()){$prop_fields["VALUES"][] = Array("VALUE" => $enum_fields["VALUE"],"DEF" => $enum_fields["DEF"],"SORT" => $enum_fields["SORT"]);}}$prop_fields["IBLOCK_ID"]=$iblock_prop_new;unset($prop_fields["ID"]);foreach($prop_fields as $k=>$v){if(!is_array($v))$prop_fields[$k]=trim($v);if($k{0}=='~') unset($prop_fields[$k]);}$PropID = $ibp->Add($prop_fields);if(intval($PropID)<=0)$bError = true;}if(!$bError && $IBLOCK_ID>0)LocalRedirect($APPLICATION->GetCurPageParam("success=Y",array("success","IBLOCK_ID_FIELDS")));elseLocalRedirect($APPLICATION->GetCurPageParam("error=Y",array("success","IBLOCK_ID_FIELDS")));}$str .='<form action='.$APPLICATION->GetCurPageParam().' method="post"><table>';if($_REQUEST["success"]=="Y") $str .='<tr><td><font color="green">ИБ успешно скопирован</font><b></td></tr>';elseif($_REQUEST["error"]=="Y") $str .='<tr><td><font color="red">Произошла ошибка</font><br/></td></tr>';$str .='<tr><td>Копируем мета данные ИБ в новый ИБ</b><br/></td></tr>';$res = CIBlock::GetList(Array(),Array(),true);while($ar_res = $res->Fetch())$arRes[]=$ar_res;$str .='<tr><td>Копируем ИБ:<br><select name="IBLOCK_ID_FIELDS">';foreach($arRes as $vRes)$str .= '<option value='.$vRes['ID'].'>'.$vRes['NAME'].' ['.$vRes["ID"].']</option>';$str .='</select></td>';$str .='<td>Копируем в новый ИБ свойства другого ИБ: *<br><select name="IBLOCK_ID_PROPS">';$str .='<option value="empty">';foreach($arRes as $vRes)$str .= '<option value='.$vRes['ID'].'>'.$vRes['NAME'].' ['.$vRes["ID"].']</option>';$str .='</select></td></tr>';$str .='<tr><td>Копируем ИБ в тип:<br><select name="IBLOCK_TYPE_ID">';$str .='<option value="empty">';$db_iblock_type = CIBlockType::GetList();while($ar_iblock_type = $db_iblock_type->Fetch()){if($arIBType = CIBlockType::GetByIDLang($ar_iblock_type["ID"], LANG))$str .= '<option value='.$ar_iblock_type["ID"].'>'.htmlspecialcharsex($arIBType["NAME"])."</option>";}$str .='</select></td></tr>';$str .='<tr><td><br/>* если значение не указано мета данные ИБ секции "Свойства" берутся из ИБ первого поля</td></tr>';$str .='<tr><td><input type="submit" value="копируем"></td></tr>';$str .='</table></form>';echo $str; -
bitrix- миграции полей инфоблока, варианты.
Нашел у https://www.olegpro.ru/post/skripty_migraciy_dlya_1s_bitriks_dobavlenie_svoystv_k_infobloku.html самописные миграции
Подробнее -
bitrix — первый вход на сайт- запустить google аналитику по успешной регистрации или любой js скрипт
Как отследить в bitrix первый вход на сайт? И что либо потом сделать? Например вызвать гугл аналитику или еще что либо.
Данный код я засовываю в Header.php . Можно похожий код засунуть в событие после авторизации. Но если надо запустить Js код(например аналитику гугла или яндекс метрику), то только подойтет такой вариант кода.нам нужно создать поле для пользователя UF_GOOGLETAG_AUTH — числовое. По умолчанию 0. И если пользователь не зашел на сайт после регистрации- то у него хранится нуль. Если зашел- то 1. И всё. больше этот скрипт никогда не срабатывает.
Код можно доработать — или вынести в include. Но мне лень было.
Подробнее -
bitrix Получить все уникальные значения свойства инфоблока
Как получить значения например всех цветов в инфоблоке bitrix? При условии , что они заданы строкой.
Цены
1500 р/чБолее подробно тут: https://ftask.ru/цены