Записки веб-разработчика, 8 страница
Ключевые слова в поиске битрикс маркетплейса
Пригодится тем, кто разрабатывает модули для маркетплейса. За 2 года я собрал почти 30 тысяч запросов и узнал как часто они были в поисковой выдаче и сколько результатов находятся по каждому их них. Все аккуратненько сложил в xls таблицу с возможность сортировки и фильтра.
![](/upload/iblock/166/1666e20fc74037d2ad538c338b9fee46.jpg)
Помимо облачного резервного копирования от битрикс я, также, отправляю резервные копии на удаленный ftp сервер. В статье покажу скрипт и алгоритм работы.
![](/upload/iblock/681/681621241657f014761e96e88903fc84.gif)
Приобрел себе принтер термоэтикеток, забавная штука. Зачем? Мы клеим информацию о заказанных товарах (состав, срок годности и тп).
Я сделал полуавтоматическую печать при поступлении нового заказа, в статье расскажу как.
![](/upload/resize_cache/iblock/81b/599_419_1/81b5eadd11a6c766258af10fbb1f177e.jpg)
Скидка, еще одна, плюс бесплатная доставка, а не переборщили ли мы и насколько выгодный получился заказ? Выводим в списке заказа информацию о прибыли (стоимость заказа минус закупочная цена всех товаров).
![](/upload/iblock/f32/f32bbe706e7f614a37b2843ac23b87b3.jpg)
Какой он современный интернет-магазин? Для себя я определил три главные цели: удобный, быстрый, полезный.
![](/upload/resize_cache/iblock/af7/599_419_1/af7a5624b8c1eab57af1518e28488eec.jpg)
Ошибок все больше, нововведений все меньше, многие модули уже давно не получали обновления. Прогноз не очень, не так ли?
Как добавить отчество в компонент регистрации system.auth.registration
Стандартно это сделать невозможно, т.к. компонент системный и его параметрами мы управлять не можем. Так что будем "костылить".
![](/upload/resize_cache/iblock/2f0/290_203_1/2f09fe02755f7fceb88bdb18e6be596c.jpg)
Стандартные варианты не очень хороши, так как присутствуют символы отличные от цифр (0-9), а без шаблона каждый будет знать кол-во заказов в магазине. Я решил немного персонализировать номер заказа, используя только цифры.
Отсортировать div с помощью jquery
Задача: сортировка группы элементов DOM с помощью js/jquery по полю сортировки
Добавляем № страницы к мета параметрам страницы
Раньше почти на каждом проекте это делали, щас почему-то забыли. А вообще полезный функционал, избавляет от необходимости закрывать от индексации 2-е и последующие страницы.
![](/upload/resize_cache/iblock/608/290_203_1/608750b65b96d119c059a62155d1372b.jpg)
Чтобы вернуть виз. редактор необходимо поставить галочку в настройках модуля "Информационные блоки" /bitrix/admin/settings.php?lang=ru&mid=iblock&mid_menu=1
Анимация загрузки. Прелоадер ajax запроса Битрикс.
В некоторых интернет-магазинах есть операции которые выполняются достаточно долго. И для того, чтобы пользователь не заскучал, ему можно скормить красивую анимацию.
Свойство привязанного элемента в SEO шаблоне
Например для формирования названия отзыва: "Отзыв о товаре {Короткое название товара} от {Производитель}
Файл не является графическим
При загрузке картинок через API, в битрикс, может возникнуть неинформативная ошибка "Файл не является графическим", хотя загружается точно картинка.
Перерасчет заказа на API
Одним методом не обойтись, тут надо комплексно заново применять все скидки и считать сумму. Пример есть в файле /bitrix/modules/sale/admin/order_edit.php:176
Отложенная отправка писем
Письмо о заказе можно отправлять немного позже, когда уже пришла информация о оплате и когда менеджер проверил заказ.
Не работает исключение в gitignore
Если добавить всю папку /bitrix/* в файл .gitignore, то !/bitrix/modules/name-module/ уже не сработает, но можно сделать иначе
Отправка почты через gmail
Не нравится yandex? Можно отправлять через google. Мне такой вариант подошел больше, т.к. google упорно отправлял письма с yandex в спам.
Настраиваем почту
Принимать будем на Яндексе, отправлять с сервера и с Яндекса
Делаю ИМ, часть 2. Верстка
Верстка магазина стандартная, но есть один многофункциональный блок который всегда рядом и о котором я хочу рассказать.
Проверяем логи, битрикс окружение
bitrix, nginx, apache, php, mysql, sendmail, cron
SEO редирект на PHP
Одним редиректом с http на https, с www на без www, с index.php на /
Формирование цены от закупочной
Автоматический расчет розничной цены из закупочной. Например наценка 20% c округлением.
![](/upload/resize_cache/iblock/afc/290_203_1/afcbf4872c92c1ff4567f7824de8c43e.jpg)
Загрузил все стабильные обновления (редакция Бизнес, версия 17.0.0) и "сгенерировал" документацию с помощью doxygen. Как и раньше, документация доступна по ссылке https://doc.budagov.ru/
Асинхронная загрузка изображений без js
На некоторых страницах сайта количество изображений переваливает за 100. И пока они все не загрузятся - браузер не покажет контент. Решением будет загрузка изображений после загрузки страницы.
Подключаем шрифты правильно
Часто встречаю неправильное подключение шрифтов, а на исправление иногда уходит много времени, покажу как я подключаю нестандартные шрифты
![](/upload/resize_cache/iblock/8ac/290_203_1/8ac36ab874a73b931633219664bfb41d.jpg)
Резервная копия Вашего кода и не только. Расскажу как я использую bitbucket.org
![](/upload/resize_cache/iblock/5ad/290_203_1/5ad787e428378b945677e19eef85211f.jpg)
Для привлечения внимания посетителей к определенному блоку на сайте, этот самый блок можно сделать анимированным, либо поместить в него анимированную часть.
Как правильно подключать ресурсы с внешних источников
Если Ваш сайт работает по протоколу https:// и в шаблоне подключаются ресурсы (например шрифты) с http://, то браузер заблокирует загрузку и выдаст ошибку в консоль.