Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
9 Октябрь 2023

VMBitrix настройка почты на mail.ru

Ранее я настраивал почту без привлечения стороннего почтового сервера, по такому мануалу
https://dev.1c-bitrix.ru/community/webdev/user/53386/blog/11674/

Но такая настройка не проста, несколько постов на эту тему
https://gtalex.ru/?s=%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0+%D0%BF%D0%BE%D1%87%D1%82%D1%8B

Так же, на сколько я помню, при таком подходе есть проблемы, когда на хостинге несколько сайтов.

В общем в этот раз я решил, что почтой должен заниматься почтовый сервер — имхо только так корректно и правильно.
Своего почтовика у меня нет, поэтому выбор пал на mail.ru только там осталась возможность бесплатно использовать свой домен для адресов вида info@mydomain.ru (раньше ещё и Яндекс был, но они закрыли лавочку с бесплатным предоставлением такого сервиса).

Собственно, инструкция
Идём сюда
https://biz.mail.ru/mail/
Добавляем домен, подтверждаем, прописываем MX запись, добавляем учётную запись (непосредственно почтовый ящик info@mydomain.ru).
После прописания MX нужно будет подождать какое то время (в районе 1-2 часов, бывает быстрее) пока обновится зона на DNS серверах.

Далее идём в безопасность и генерируем пароль для внешних приложений — именно его нужно будет далее прописать в конфигурации виртуальной машины Битрикс
https://account.mail.ru/user/2-step-auth/passwords/add

Тут одна неприятность — на один телефон нельзя прикрепить несколько ящиков, поэтому придётся привлекать телефоны клиентов. Это конечно дольше получается — но правильнее.

После чего в меню виртуальной машины в настройках сайтов
6. Configure pool sites
4. Change a site’s email settings
прописываем настройки со страницы https://help.mail.ru/biz/userguide

а именно адрес почтового сервера smtp.mail.ru порт 465 ящик info@mydomain.ru и пароль (аутентификация нужна — будет спрашивать)

в этой доке подглядел, что желательно прописать ещё два параметра

set_from_header on
tls_starttls off

Далее в настройках Битрикса в главном модуле и в настройке сайта прописываем электронку info@mydomain.ru

Всё, проверяем систему — почта у меня заработала.

Для уверенности с php ком.строки выполняем скрипт и ловим письмо у себя в ящике.

PS
Почтовые настройки лежат тут /home/bitrix/.msmtprc
Логи тут /home/bitrix/msmtp_mydomain.ru.log

Доступ в ящик с интерфейсом mail.ru
https://e.mail.ru/inbox/

PPS
Пока настраивал почту увидел, что они ещё и ДНС Хостинг бесплатно предоставляют — вообще супер, т.к. у nic.ru эта услуга платная.

рубрики: Bitrix, Администрирование | Комментарии (0)

13 Май 2023

Битрикс — сайт редиректит на старый домен

Бывает, что при настройке локальной разработки или тестовой среды сайт упорно редиректит на старый сайт — такое часто бывает если БД переносится не средствами бэкапа Битрикса.
Чтобы запустить админку временно в файле «bitrix/modules/main/include.php» комментируем строки 162 и 163 подключающие OnPageStart

либо временно убрать папку /bitrix/modules/security/ из /modules/

далее заходим в админку, перенастраиваем домен (в главном модуле и настройках сайтов)

далее в мускуле скидывааем опцию

либо в php командной строке

скидываем весь кеш!

после чего возвращаем всё на место

рубрики: Bitrix | Комментарии (0)

12 Март 2023

BITRIX — убираем атрибуты type в теге script и лишние закрывающие слешы

При проверке на валидность страницы сайта на CMS Битрикс валидатор ругается на присутствие type в теге script (устаревший атрибут)

Warning: The type attribute is unnecessary for JavaScript resources.

а так же на лишний закрывающий тег в одиночных тегах (тоже устаревшая запись)

Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.

решение — вешаем обработчик на OnEndBufferContent и вырезаем из сформированного буфера

PS
в регулярке почему то конструкция [link|metainput] не «взлетела», разбираться пока не стал — если кто подскажет почему, подкорректирую.

рубрики: Bitrix, Полезности | Комментарии (0)

26 Февраль 2023

Особенности настройки GitLab CI CD для работы с Bitrix

Чтобы не «париться» с настройкой прав для пользователя gitlab_runner на сервере с bitrix env очень удобно чтобы раннер работал под юзером bitrix в его домашней папке изначально.

Решение

источник

рубрики: Bitrix | Комментарии (0)

3 Февраль 2023

Битрикс портал — правка ошибки MySQL query error! Got a packet bigger than ‘max_allowed_packet’ bytes

Кейс от клиента:

При авторизации на портале Битрикс 24 (коробка) ошибка
MySQL query error! Got a packet bigger than ‘max_allowed_packet’ bytes
(весь текст не буду выкладывать — смысл понятен)

Если решать в лоб и быстро, то поможет

/etc/my.cnf
max_allowed_packet = 32M
service mysqld restart

решил разобраться, в чём собственно дело

видно, что на update в таблицу b_option идёт очень большое «тело»

нашел эту запись, посмотрел содержимое — массив с НЕУНИКАЛЬНЫМИ записями

небольшим скритом фиксим это дело прямо в php консоли

из 90к записей остаётся 147

далее в исходниках Битрика нашел интересное место в файле

www/bitrix/modules/socialnetwork/lib/item/workgroup.php

получили массив, добавили значение (но не посмотрели, вдруг оно уже присутствует) — фактически получаем постоянно раздуваемый массив

пришлось кастомизировать исходник Битрикса (а что делать?) — в Битрикс тоже отписал о этом «косяке»

сам фикс

По идее такие огрехи при Code Review другим программистом должны «вылавливаться».

рубрики: Bitrix | Комментарии (0)

13 Июль 2022

Битрикс — поиск событий обработчика

Проблема — обработчик FilmVersionSave слушающий событие OnIBlockElementUpdate задваивает результат.
Хотел поискать что ещё «повешано» на этот метод, не нашел подходящего API

Только такое
$eventManager = \Bitrix\Main\EventManager::getInstance();
$handlers = $eventManager->findEventHandlers(«iblock», «OnBeforeIBlockElementUpdate»);
тут нужно знать с какого модуля и какое событие, а мне наоборот — все события которые повесили на обработчик …

Решение — табличка b_module_to_module в которой всё доступно и «по полочкам»

select * from b_module_to_module where TO_MODULE_ID=’fk’ AND TO_METHOD=’FilmVersionSave’;

Вот и всё — виновник OnBeforeIBlockElementUpdate найден!

рубрики: Bitrix | Комментарии (0)

15 Июнь 2022

Дружим JQuery Styler и Vue JS в реализации 1С Битрикс API

Всем привет!
Очень давно не писал — просто некогда. В отличие от времени когда я работал админом, сейчас, работая веб программистом свободного времени практически нет — всегда есть работа, которую нужно работать 🙂

Само по себе решение дружбы JQuery Styler и Vue JS конечно не лучший вариант, в идеале вообще нужно выкинуть JQuery и реализовать фронт на чистом Vue…
Но когда вёрстка собрана на JQuery + Styler, соответственно со стилями «подогнанными» под Styler то на подбор нужных компонентов и их стилизация потребуется довольно много времени (по крайней мере у меня т.к. готовых подобных решений я не нашел).

Проблема — при обновлении поля значение в модели не обновляется, хотя поле прикручено к модели через v-model.
Решение — в vue mounted() вешаем на изменения объекта styler-а vue метод обновления значения поля в модели + в моей реализации далее прокидываем из дочернего компонента родителю с помощью $emit

В реализации API 1С Битрикс компонент оборачиваем в BX.Vue.component()

Пример реализации для чекбокса

Далее уже в шаблоне основного компонента используем пользовательский vue тег данного компонента с штатной директивой v-model для связывания поля ввода и с переменной

На авторство не претендую — компоненты реализованы в одном из проектов веб студии Слон, где я в данный момент удалённо работаю.

PS
Добавлю реализацию для выбора даты

рубрики: Bitrix, Javascript - JQuery, VUE JS | Комментарии (0)

18 Март 2022

Битрикс — чистим b_sale_viewed_product

Фактически это код метода CSaleViewedProduct::ClearViewed() с увеличенным лимитом (1000 -> 10000000), который можно запускать автономно через ком. строку PHP.
Лимит вообще можно убрать (но запускать ночью, в момент выполнения, сайт зависнет — на 5 миллионов записей у меня чистило где-то минут 10).

По идее метод очистки должен отрабатывать штатно, но у клиента почему-то таблица разрослась — пока решил почистить и понаблюдать причины.
(возможно как раз из-за маленького LIMIT либо по какой то причине метод вообще не отрабатывает).

Настройки, влияющие на размер этой таблицы расположены в настройках модуля «Интернет магазин»
«Время хранения просмотренных товаров (дней)» и «Максимальное количество просмотренных товаров пользователя».

После удаления желательно произвести оптимизацию БД.

рубрики: Bitrix | Комментарии (0)

24 Февраль 2022

bitrix cli в режиме watch не видит изменений vue — решение

При работе с bitrix cli в режиме watch столкнулся с проблемой — при изменении в vue файлах проект не пересобирается, что оцень неудобно — постоянно приходится в ручную запускать bitrix build.
Для решения необходимо модифицировать два файла

/usr/local/lib/node_modules/@bitrix/cli/src/utils/is-allowed.js
в строке 22 в switch добавляем строку
case ‘.vue’

/usr/local/lib/node_modules/@bitrix/cli/src/tools/watch.js
в строке 21 (функция createPattern) в цикл forEach добавляем строку
acc.push(slash(path.resolve(currentConfig.context, ‘**/*.vue’)));

далее в каталоге /usr/local/lib/node_modules/@bitrix/cli/ запускаем npm run build

всё — запускаем в проекте
bitrix build -w
меняем vue файл и видим, что сборка осуществляется в автоматическом режиме

рубрики: Bitrix | Комментарии (0)

18 Ноябрь 2021

PHP скрипт поиска изменённых файлов

В текущей разработке сделал скриптик, может кому пригодиться 🙂

Ищет изменённые файлы по маске «*.php» в рутовой директории, за исключением [«bitrix», «upload», «local»] за последние сутки.

Две доки по find с хорошими примерами
https://www.dmosk.ru/miniinstruktions.php?mini=search-linux
https://masterpro.ws/forum/6-linux/4710-kak-nayti-nedavno-modificirovannye-fayly-v-linux

рубрики: Bitrix, PHP | Комментарии (0)