Виталий Фантич (Автор тем)
Код |
---|
BX.ready(function () { const curUrl = window.location.href; const origin = window.location.origin; // Находим родительский блок const buttonsContainer = BX.findChild(document, { className: 'widget-authorization-buttons' }, true); if (!buttonsContainer) { console.error('Контейнер widget-authorization-buttons не найден!'); return; } // Вспомогательная функция для создания элементов const createElement = (tag, props = {}, children = []) => { return BX.create(tag, { props, children }); }; // Формируем ссылку и текст для кнопки const href = BX.message('SITE_DIR') === '/' ? '/ru' + curUrl.replace(origin, '') : curUrl.replace(BX.message('SITE_DIR'), '/').replace(origin, ''); const text = BX.message('LANGUAGE_ID') === 'ua' ? 'RU' : 'UA'; // Создаем новую кнопку с минимальной вложенностью const newButton = createElement('div', { className: 'intec-grid-item-auto' }, [ createElement('div', { className: 'widget-authorization-button' }, [ createElement('div', { className: 'intec-grid intec-grid-nowrap intec-grid-a-v-center intec-grid-i-h-4' }, [ createElement('div', { className: 'intec-grid-item-auto' }, [ createElement('a', { className: 'widget-authorization-button-content', href }, [text]), ]), ]), ]), ]); // Добавляем новый блок в контейнер BX.append(newButton, buttonsContainer); }); |
Помогите разобраться с ежедневной рассылкой новостей для почты.
Создал периодическую рассылку с использованием компонента bitrix:news.list.mail с параметром "Не отправлять выпуск если недостаточно указанного количества новых элементов.".
Теперь если новостей было недостаточно - выпуск не уходит.
Но в логи кидает:
Module: sender
Status does not equal Part. PostingId: 1147
По таблице b_sender_posting видно что статус - А
Проблема в том что на следующий день когда уже добавили новости, то рассылка всеравно не идет, а пытается доотправить предыдущую
Что тут не так? Где искать проблему ?
Уважаемые участники форума,
Новая эра в мире искусственного интеллекта наступила с появлением двух мощных моделей: GPT-4o и GPT-3.5 Turbo. Обе эти модели интегрированы в наш модуль на Битрикс и предоставляют пользователю уникальные возможности в области генерации текста.
GPT-4o — наша новая флагманская модель, обладающая беспрецедентной скоростью и точностью. Она способна создавать профессиональные тексты в реальном времени и значительно улучшает понимание текста, аудио и изображений.
GPT-3.5 Turbo — долгожданное улучшение нашего предыдущего модуля, которое также предлагает высокое качество генерации текста и мощные функции.
В этой ветке форума приглашаем вас к обсуждению и сравнению этих двух моделей. Какие преимущества и недостатки у каждой из них? Какая из них лучше подходит для ваших конкретных задач? Давайте вместе разберемся, какая модель лучше соответствует вашим потребностям и требованиям к контенту.
Присоединяйтесь к обсуждению и делитесь своими мыслями и опытом!
Ссылка на модуль
Дорогие пользователи,
Мы рады представить вам нашу новую флагманскую модель — GPT-4o, интегрированную в наш модуль! GPT-4o открывает новые горизонты в создании текстов, обеспечивая беспрецедентную скорость и точность.
Основные преимущества GPT-4o:
- Мгновенная генерация текстов: Создавайте профессиональные тексты в считанные секунды.
- Улучшенное понимание: GPT-4o обладает улучшенными способностями к обработке текста, аудио и изображений, что повышает качество конечного продукта.
- Эффективность и экономичность: Новая модель работает быстрее и дешевле, чем предыдущие версии, что делает ее идеальным инструментом для вашего бизнеса.
Приглашаем всех обсудить возможности и преимущества новой модели, поделиться своими впечатлениями и задать вопросы. Мы уверены, что GPT-4o станет незаменимым помощником для всех, кто стремится к совершенству в создании контента.
С нетерпением ждем ваших отзывов и обсуждений!
Ссылка на модульПройдите проверку системы в админке "Полное тестирование системы" (Рабочий стол->Настройки->Инструменты->Проверка системы) и исправьте все ошибки.
А именно Режим работы 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. |
Обновился Битрикс.
После обновления у Вас будет ошибка:
⛔️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
На прикрепленный в этом сообщении:
Код |
---|
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]); } |
После чего будут логироваться все события которые вызываются например при клике на кнопку!
Это настройками решается, или это баг? Кто знает?
Код |
---|
[TypeError] Unsupported operand types: string / int (0)/bitrix/components/bitrix/forum/component.php:278 |
Код |
---|
Строку $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; |
Код |
---|
<?=GetMessage('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') не показывает изменения.
Заполнить языковые фразы в массив с ключами в таком формате таком формате
Префикс_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'] = 'Тарас Григорович Шевченко'; |
Но для вывода этих надписей Аспро так же предусмотрели их вывод по умлочанию из языковых файлов компонента. И если у нас многоязычность реализована на одном сайте, то если заполнен параметр в настройках модуля, то из языкових файлов фраза подтягиваться не будет.
Для решения данного вопроса , достаточно оставить параметр пустым, и уже переводы фраз выполнить в локализации. Только при условии что параметр пустой будет подтягиваться фраза из локализированных языковых файлов компонента.
Например у вас дополнительный язык в разделе ua.
Тогда прокидываем для папок:
/var/www/dev/site.com.ua/ajax /var/www/dev/site.com.ua/ua/ajax
/var/www/dev/site.com.ua/include /var/www/dev/site.com.ua/ua/include
/var/www/dev/site.com.ua/indexblocks_index1.php /var/www/dev/site.com.ua/ua/indexblocks_index1.php