Найти тему
CRON для сайта
В этой статье я расскажу зачем нужно настраивать задания по CRON для сайта и как это сделать на популярных движках. Сначала давайте разберемся что вообще такое CRON. CRON — это стандартный инструмент, используемый в Linux и его дистрибутивах для планирования и автоматизации задач. А значит, это наш верный помощник для автоматизации выполнения фоновых заданий на сайте, ведь каждый более или менее серьезный сайт содержит в себе кроме публичных страниц еще и дополнительные инструменты, например отправка...
6 месяцев назад
Что делать если Bitrix MySQL использует все ресурсы процессора
Однажды столкнулся с интересной проблемой, MySQL стал пожирать полностью все ресурсы процессора. Причем “захват” ресурсов происходил плавно с выраженными скачками на графике мониторинга Провалы на графике это ручной перезапуск службы MySQL В поисках причины были исследованы длинные запросы к БД и перепробваны различные комбинации настроек MySQL, но ничего не получилось выявить и не получилось добиться стабильной работы сервера… Путем исключения удалось найти виновника данного хулиганства, им оказался типовой файл cron_event...
109 читали · 7 месяцев назад
Как изменить язык сайта Битрикс для раздела или страницы
Как то раз мне потребовалось сделать один раздел сайта полностью на английском языке, а весь остальной сайт на русском. С первого взгляда все казалось проще некуда, что нужно определить константу LANGUAGE_ID со значением “en” при заданных условиях в init.php. Однако, такой фокус не проходит, т.к. к моменту вызова файла init.php эта константа уже определена, а переопределять константы в PHP запрещено. Решение в данной ситуации очень простое. Чтобы назначить другую языковую локаль для папки, файла, раздела или других каких либо условий, нужно сделать это в файле dbconn.php. Однако стоит помнить, что в момент вызова файла dbconn...
7 месяцев назад
Валидация свойств при оформлении заказа в Битрикс
В Битриксе есть возможность задать условия проверки вводимых пользователем данных в поля заказа. Для этих целей есть несколько встроенных опций. Наиболее простые опции помогают проверить введенные данные на минимальное и максимальное количество символов. А для более сложных проверок есть специальное поле для использования регулярных выражений для того, чтобы можно было проверять введенные пользователем данные на корректность заполненности поля. Работает данный функционал по следующему принципу: 1)...
8 месяцев назад
Получаем окончание количества “товаров” в PHP
Иногда приходится выводить на странице сайта количество чего-либо с пояснением, например, 12 товаров. При этом количество может меняться и требуется подствалять правилььное окончание слова рядом с числом. Как раз для этих случаев я использую вспомогательную функцию, которую добавляю в свои проекты. <? function getCountEndString($num=1, $string='', $type='M') { $numEnd = intval(substr($num, -1)); $numEnd2 = intval(substr($num, -2)); $strEnd = ''; $variable = [ 'M' => [ 0 => "", 1 => "а", 2 => "ов", ], 'F' => [ ...
8 месяцев назад
Сортировка значений филтров по алфавиту в компоненте bitrix:catalog.smart.filter
Как оказалось, в Битриксе у компонента bitrix:catalog.smart.filter нет параметров для сортировки значений в фильтрах. Однако, задача есть, и нужно придумать как сделать сортировку значений в фильре по алфавиту. Для решения этой задачи можно добавить в конец файла result_modifier.php в шаблоне вызова компонента bitrix:catalog.smart.filter следущий код: // Массив свойств, которые нужно отсортировать, с указанием функции сортировки $resortProps = [ "BRAND" => "sortByName", "SERIES" => "sortByName", "STRANA" => "sortByName", ]; // Перебираем список выводимых свойст для отображения в фильтре foreach($arResult["ITEMS"]...
1 год назад
Если YouTube видео долго грузится в модальном окне FancyBox на шаблоне АСПРО Битрикс
Несколько раз уже встречаю ситуации, когда на шаблоне АСПРО разных редаций Битрикса видео с Ютуба встраиваемое в модальное окно долго тормозит перед тем как начать воспроизводить видео. Исправить зависание очень просто, нужно в js файле найти функцию  $(“.video_link”).fancybox({…}) и добавить параметр preload: false. Обычно данная функцию в шаблонох АСПРО находится в файле /bitrix/templates/aspro_max/js/main.js и его минифицированной копии main.min.js. Название шаблона aspro_max в вашем случае может быть aspro_next или какой-то другой шаблон, по смыслу должно быть латиницей написано название вашего шаблоно...
1 год назад
Настройка визуального HTML редактора Диафан для корректной вставки INSERT тегов
В CMS Diafan есть один интересный момент, при вставке в визуальном редактеоре тега <insert name=”show_block” module=”site” id=”…”> к нему добавляется закрывающий тег </insert> и это мешает корректному отображению контента на сайте. В CMS Diafan по умолчанию вшит HTML редактор TinyEMC v4.6, который можно настроить под свои нужды, и решить данную проблему можно добавлением параметров визуального редактора. Для этого нужно открыть файл /adm/htmleditor/tinymce/config.js и добавить в него несколько срок: var tinyMCE_init = { config: { ... custom_elements : 'insert', valid_elements : "*[*],insert[*]", extended_valid_elements: "insert[*]", ...
1 год назад
Исправляем абсолютные ссылки на относительные в CMS Diafan
По умолчанию в CMS Диафан все ссылки на страницы, картинки и другие объекты размещеныые на этом же хостинге сохраняются с добавлением доменного имени к ним. Это по сути не хорошо и не плохо, и вообще мнгим не мешает жить. Однако, если необходимо делать отладку на тестовом хосте и потом просто копировать материалы на боевой хостинг, то могут возникать некторые затруденения в работе. Да и вообще не по фен-шую использовать в абсолютные ссылки на сайте. Так в один прекрасный день любопытсво взяло верх и был найден способ “вылечить” данную проблему. Все решается добавлением одной строки кода в файле /includes/route...
1 год назад
Как исправить не работающий Вебвизор яндекса на CMS Diafan
Вот уже не нескольких проектах я встречаю проблему не работающего вебвизора яндекса на сайте под управлением CMS Диафан. Выражается это так, что при просмотре вебвизора отображается сообщение, что код счетчика не установлен или запрещен показ во фреймах. И вроде бы в настройках админки Диафана есть такая опция, но почему-то этой опции не достаточно. Решение проблемы оказалось очень простым с технической стороны, нужно было лишь покопаться в файлах ядра Диафана и найти нужную строку кода. Все дело в одном заголовке Content-Security-Policy: frame-ancestors ‘self’, который отрправляется браузеру. Этот заголовок блокирует возможность встраивать сайт во фрейм вебвизора...
1 год назад
Установка Home Assistant Supervisor на Orange Pi Zero 3 (4GB)
Дорогой друг! После продолжительных опытов по установке Home Assistant Supervisor на Orange Pi Zero 3 и успешного решения данной задачи я понял, что инфы по этой теме нет как таковой, а “из коробки” инструкция с сайта Home Assistant не работает… Однако мне удалось это сделать и я хочу поделиться с тобой своим опытом. Для установки нам потребуется: Этап 1. Подготовка Железо Нужно заранее купить (конечно если это еще не сделано) плату Orange Pi Zero 3, флешку на 16+ гигов и блок питания. Все остальные примочки можно добавить по вкусу...
753 читали · 1 год назад
Локальный web сервер для разработки у себя дома
В этом посте я расскажу о своём опыте создания и работы с локальным сервером для DEV копий сайтов. Содержание Что сподвигло на создание локального сервера Все очень просто, ошибки прошлых лет и желанию спокойно жить и не переживать, что на боевом сайте заказчика все будет скакать чехордой во время разработки заставляют задуматься о том, где же можно развернуть копию сайта для спокойной работы. И как оказалось вариантов у нас, обычных разработчиков, не так уж много. Да, если пользоваться линуксовой операционкой то можно поднять все необходимые службы локально и настроить прямо на своём компе сервер...
1 год назад