Связь
Здравствуйте! Я Ваш личный надежный программист.
1С Предприятие 8.2-8.3, 1С-Битрикс: Управление сайтом, Битрикс24

Виталий Фантич (Автор тем)

На форумах вы можете обсудить и решить свои вопросы по 1С Предприятию и 1С Битрикс.
Выбрать дату в календареВыбрать дату в календаре

Incorrect integer value: '' for column 'IBLOCK_SECTION_ID' at row, Incorrect integer value: '' for column 'IBLOCK_SECTION_ID' at row при сохранении переводов раздела
 
Ошибка MySQL Incorrect integer value: '' for column 'IBLOCK_SECTION_ID' at row при сохранении переводов раздела  рещается:

Пройдите проверку системы  в админке "Полное тестирование системы" (Рабочий стол->Настройки->Инструменты->Проверка системы) и исправьте все ошибки.

А именно Режим работы MySQL:
Код
Параметр sql_mode задаёт режим работы MySQL. Может принимать значения, несовместимые с 1С-Битрикс. Чтобы установить режим работы по умолчанию, добавьте в /bitrix/php_interface/after_connect_d7.php:
$connection = Bitrix\Main\Application::getConnection();
$connection->queryExecute("SET sql_mode=''");
$connection->queryExecute("SET innodb_strict_mode=0");


Обратите внимание, что в Mysql 8.0.26 и новее для настройки параметров соединения может потребоваться привилегия пользователя БД SESSION_VARIABLES_ADMIN. Если текущих привилегий недостаточно, то необходимо обратиться к администратору БД или настроить параметры в файле конфигурации Mysql.
Умный фильтр выводит символьные коды вместо названий на Мультиязычности
 
Если в умном фильтре свойства типа справочник (Highload-блок) вместо названий значений выводятся их символьные коды, то скорее всего не создан фасетный индекс для инфоблока.
Для решения данной проблемы просто пересоздайте фасетные индексы.  
Модуль Мультиязычновсти: Fatal error: Declaration of FCUserTypeManager::GetUserFields, Fatal error: Declaration of FCUserTypeManager::GetUserFields($entity_id, $value_id = 0, $LANG = false, $user_id = false) must be compatible with CUserTypeManager::GetUserFields($entity_id, $value_id = 0, $LANG = false, $user_id = false, $selectFields = nu
 
Внимание!‼️
Обновился Битрикс.

После обновления у Вас будет ошибка:

⛔️Fatal error: Declaration of FCUserTypeManager::GetUserFields($entity_id, $value_id = 0, $LANG = false, $user_id = false) must be compatible with CUserTypeManager::GetUserFields($entity_id, $value_id = 0, $LANG = false, $user_id = false, $selectFields = null)

✅ Замените данный файл в папке модуля: /classes/FCUserTypeManager.php

На прикрепленный в этом сообщении: https://t.me/bxproger/84
Изменено: Фантич Виталий - 16.01.2024 05:12:04
Получение событий onCustomEvent для кастомизации интерфейса Битрикс 24
 
Вставляем в консоль данный скрипт
Код
let originalBxOnCustomEvent = BX.onCustomEvent;

BX.onCustomEvent = function (eventObject, eventName, eventParams, secureParams) {

    let logData = {
        eventObject: eventObject,
        eventName: eventName,
        eventParams: eventParams,
        eventParamsClassNames: [],
        secureParams: secureParams
    };

    for (var i in eventParams) {
        let param = eventParams [i];
        if (param !== null && typeof param == 'object' && param.constructor) {
            logData['eventParamsClassNames'].push(param.constructor.name)
        } else {
            logData['eventParamsClassNames'].push(null);
        }
    }
    
    console.log(logData);

    originalBxOnCustomEvent.apply(null, [eventObject, eventName, eventParams, secureParams]);
}


После чего будут логироваться все события которые вызываются например при клике на кнопку!
Параметр bXhtmlStyle для bitrix_sessid_post
 
Было бы хорошо если бы в функции bitrix_sessid_post присутвовал параметр bXhtmlStyle аналогично CMain::ShowHead. Таким образом можно было бы количество ошибок разметки свести к нулю на validator.w3.org, указав параметр false
Аспро Макс - Переопределяет каноническую ссылку
 
К примеру у нас site.com, и в свойствах главного раздела указана каноническая ссылка , например https://another.site.com. И если установлен модуль aspro.max, то она будет игнорироваться. А будет установлена каноническая ссылка на текущее имя сайта, например site.com или www.site.com. В зависимости где находимся.

Это настройками решается, или это баг? Кто знает?  
[TypeError] Unsupported operand types: string / int (0) /bitrix/components/bitrix/forum/component.php:278
 
После обновления форума появилась ошибка:
Код
[TypeError] Unsupported operand types: string / int (0)/bitrix/components/bitrix/forum/component.php:278
Решение в файле bitrix/components/bitrix/forum/component.php
Код
Строку 
$arParams["TIME_INTERVAL_FOR_USER_STAT"] = ($arParams["TIME_INTERVAL_FOR_USER_STAT"] ?? 60) / 60;

Заменить на:
$arParams["TIME_INTERVAL_FOR_USER_STAT"] = (int)($arParams["TIME_INTERVAL_FOR_USER_STAT"] ?? 60) / 60;
Изменено: Boudybuilder - 17.09.2023 16:05:21
Аспро - фраза обязательные поля в main.profile
 
В компоненте main.profile на странице Профиль пользователя есть надпись в форме "обязательные поля"  которая подтягивается из языковых файлов.
Код
<?=GetMessage('FORM_REQUIRED_FIELDS');?>
Мы заполнили все языковые фразы с кодом фразы FORM_REQUIRED_FIELDS на украинском языке, но надпись по прежнему выводится на английском
Аспро - фраза "Быстрый просмотр" на разных языках
 
Назначать надписи в шаблоне Аспро можно в настройках в разделе "Выражения и названия".
И вывод этих фраз устроен таким образом что если в настройках их не указать то они будут подтягиваться с языковых файлов по умолчанию на текущем языке файла.
Так как у нас один сайт на двух языках , то нам нужно выводить надпись "Быстрый просмотр" на разных языках. Для этого мы в настройках убрали значения для этой фразы.

Например в списке товаров в шаблоне компонента catalog.section за вывод этой фразы отвечает код
Код
<?if($fast_view_text_tmp = CMax::GetFrontParametrValue('EXPRESSION_FOR_FAST_VIEW'))
   $fast_view_text = $fast_view_text_tmp;
else
   $fast_view_text = Loc::getMessage('FAST_VIEW');?>

Где видно что фраза должна браться из кода фразы FAST_VIEW.

Мы поменяли абсолютно во ВСЕХ языковых  файлах эту фразу, но Loc::getMessage('FAST_VIEW') не показывает изменения.  
Перевод платежных систем, служю доставки, свойств заказа на странице оформления заказа
 
Все переводы нужно вносить в файл: bitrix/modules/modulemarket.translator/lang/ua/lib/order/orderclass.php

Заполнить языковые фразы в массив с ключами в таком формате таком формате

Префикс_ID_Поле

Префикиксы:
  • Для Типов покупателей - PT
  • Для Платежных систем - PS
  • Для Служб доставки - D
  • Для свойств заказа - PROP
Пример:
Код
// Типы покупателей (префикс_ID_Ключ)
$MESS['PT_1_NAME'] = 'Замовити товар';


// Платежные системы (префикс_ID_Ключ)
$MESS['PS_14_NAME'] = 'Оплата замовлення при отриманні';
$MESS['PS_14_PSA_NAME'] = 'Оплата замовлення при отриманні';
$MESS['PS_14_DESCRIPTION'] = 'Ви можете сплатити замовлення готівкою, банківською карткою або онлайн при отриманні';


// Службы доставки (префикс_ID_Ключ)
$MESS['D_13_NAME'] = 'Нова Пошта (Доставка до відділення Нова пошта)';
$MESS['D_13_OWN_NAME'] = 'Доставка у відділення Нова пошта';
$MESS['D_13_DESCRIPTION'] = 'забираєте товар самостійно із відділення НП. Зверніть увагу, що товар автоматично повертається через 5 днів після отримання SMS!';

$MESS['D_2_NAME'] = 'Я сам заберу товар із магазину';
$MESS['D_2_OWN_NAME'] = 'Я сам заберу товар із магазину';
$MESS['D_2_DESCRIPTION'] = 'Ви можете самостійно забрати замовлення із нашого магазину.';


// Свойства (префикс_ID_Ключ)
$MESS['PROP_93_NAME'] = 'ПІБ';
$MESS['PROP_93_DESCRIPTION'] = 'Тарас Григорович Шевченко';
file_download Скачать Модуль Маркет
file_download Скачать Модуль Маркет