Поддержка и доработка интернет-магазина «Мебель Урала»
О проекте
Развитие мебельного интернет-магазина на Webasyst Shop-Script
«Мебель Урала» — интернет-магазин мебели в Челябинске с каталогом кухонь, шкафов, гостиных, спален, детской мебели и отдельных модулей. Quadro Design занималась технической поддержкой проекта, программными доработками и изменениями интерфейса mebel-urala.ru.
Особенность проекта — сложные мебельные комплектации. Покупатель выбирает модули, размеры, цвета и артикулы, а магазин должен согласованно рассчитывать стоимость в каталоге, карточке товара и корзине. Дополнительно требовалось поддерживать частичную предоплату, оплату банковской картой, услуги доставки, подъёма и сборки.
- Проект: mebel-urala.ru, интернет-магазин «Мебель Урала».
- Направление: техническая поддержка, программирование, вёрстка и развитие действующего магазина.
- Платформа на рассматриваемых этапах: Webasyst, Shop-Script 8.
- Тема оформления: TOPSHOP с индивидуальными изменениями.
- Этапы работ: 2020–2022 годы.
- Основные направления: комплекты и артикулы, предоплата, эквайринг, каталог, оформление заказа, CRM, аналитика и перенос на VPS.
Мебельные комплекты: загрузка состава и дополнительных модулей
Страницы крупных комплектаций загружались долго: один товар мог объединять множество модулей, а каждый модуль — большое количество артикулов. Одновременная обработка всех вариантов увеличивала число запросов к базе данных и время подготовки страницы.
Поэтапная загрузка вместо одновременного вывода всех позиций
Для оптимизации рассматривалось сокращение количества комплектаций. В реализованном сценарии сохранили возможность выбора модулей и переработали порядок их загрузки:
- При открытии страницы сначала загружается карточка комплекта и его основной состав.
- Товары, которые можно дополнительно включить в комплект, подгружаются порциями по запросу покупателя.
- Размер порции по умолчанию — пять товаров.
- Количество товаров в порции можно изменить в настройках плагина комплектации.
- Для дополнительных модулей реализована сортировка по алфавиту от А до Я.
В рамках проекта выполнена новая реализация плагина «Комплектация» с изменением механизма загрузки. Поэтапный вывод и алфавитная сортировка отмечены как завершённые работы.
Повторная диагностика тяжёлых страниц
На последующих этапах отдельно фиксировалась медленная загрузка комплектов кухни «Норд». Эти обращения стали основанием для повторной проверки состава комплекта, количества артикулов, расчёта цен и нагрузки на базу данных.
Согласование цен комплекта в каталоге, карточке и корзине
Одна из основных задач — устранить расхождения между стоимостью комплекта в административной части, категории, полной карточке, верхней панели покупки и корзине.
При разборе обнаружили, что отдельные участки плагина использовали общую цену товара или цену артикула по умолчанию. При этом покупатель мог выбрать другой артикул модуля с другой стоимостью. Поэтому расчёт требовалось привязать к конкретным артикулам, входящим в выбранную комплектацию.
Правила расчёта и покупки
- Стоимость комплекта должна складываться из цен выбранных артикулов его модулей.
- Рассчитанная сумма должна записываться в основное поле цены товара-комплекта и в цену его основного артикула.
- Эта цена используется при выводе товарных списков, поиске, фильтрации и сортировке.
- При изменении стоимости составляющих комплект требуется пересчитывать.
- Кнопка «Добавить комплект в корзину» должна добавлять товары из состава комплекта.
- Основная кнопка покупки и кнопка в верхней панели должны работать по одному сценарию и давать одинаковую итоговую сумму.
Отдельно разбирались случаи, когда в корзину попадал сам товар-комплект, когда использовался артикул по умолчанию вместо выбранного и когда сумма при покупке из верхней панели отличалась от ожидаемой.
Нулевая и устаревшая цена в категории
Для некоторых комплектов в категории отображалась нулевая цена, хотя в полной карточке стоимость была актуальной. Это влияло и на фильтр: такой комплект мог попадать в диапазон товаров стоимостью до одного рубля.
Фиксировались и расхождения ненулевых сумм. Например, у одного из комплектов в категории отображалось 13 380 рублей, а в полной карточке — 40 330 рублей. После регламентного пересчёта цены выравнивались. Эти значения относятся к исторической проверке расчёта.
Регламентные операции для плагина комплектации
Выполнен перевод регламентных операций с запуска через wget на PHP. В плагине комплектации выделены три задачи:
| Операция | Назначение | Заданный регламент |
|---|---|---|
mod_update |
Пересчитать стоимость комплекта и записать её в цену товара и основного артикула для каталога, поиска, фильтров и товарных списков. | Ежечасное обновление цен. |
art_update |
Удалить лишние артикулы товара-комплекта, оставив один основной. | Ежедневно в 21:10. |
mod_delete |
Удалить оставшиеся наборы комплекта, если соответствующий товар удалён или у него снят признак комплекта. | Ежедневно в 21:00. |
На последующих этапах расхождения цен возникали повторно. Поэтому согласованность стоимости в административной части, категории, карточке, верхней панели и корзине оставалась отдельным предметом проверки.
Дополнительное правило для скрытых модулей
Поставлена задача автоматически исключать скрытый товар из состава комплекта при регламентной обработке. При этом сам товар может сохраняться в базе магазина как снятый с производства. Завершение этой дополнительной автоматизации отдельно не подтверждено.
Выбор артикулов, характеристик и размеров
Доработка взаимодействия с плагином «Умные артикулы»
Для полной карточки и быстрого просмотра согласовали поведение взаимозависимых характеристик:
- При открытии товара характеристики соответствуют артикулу, выбранному по умолчанию.
- После выбора основной характеристики остальные значения показываются с учётом существующих сочетаний.
- Недоступные сочетания визуально обозначаются крестиком.
- При выборе несовместимого значения второстепенной характеристики основная характеристика переключается на доступное сочетание.
- В заказ должен попадать артикул, соответствующий показанным характеристикам.
- После изменения сочетания должны обновляться выбранный артикул и цена.
- Для кнопок покупки обсуждалось сохранение активного состояния при автоматическом выборе существующей комбинации.
Работы по этому блоку отмечены как выполненные, однако отдельно осталось замечание об автоматическом изменении текста второстепенной характеристики после выбора основной. Этот пункт требовал дополнительной доработки.
Товары с большим количеством артикулов
Для товаров, содержащих около 600 артикулов, рассматривалось сокращение количества вариантов. Универсальное допустимое количество артикулов не определялось: оно зависит от состава товара и нагрузки конкретного сценария.
Для поиска наиболее сложных товаров предложена штатная сортировка списка в административной части по количеству артикулов. Также обсуждалась отдельная выгрузка ID товаров и количества артикулов, поскольку нужного столбца не было в стандартном экспортном файле.
Проверка единиц измерения
Выполнен поиск товаров по ID или названию, у которых в характеристике типа «Длина» с числовым форматом были выбраны метры. Эта проверка помогала выявить позиции с единицами измерения, требующими отдельного контроля.
Размеры и производитель
- Размеры отдельных товаров добавлены в быстрый просмотр.
- В списке модулей комплекта размеры перенесены под название товара.
- Для матрасов использован выбор размеров выпадающим списком через плагин типов характеристик.
- Для товара-комплекта отдельно поставлена задача выводить глубину, ширину и высоту из административной части.
- Источник размеров комплекта требовал уточнения: часть значений могла относиться к самому комплекту, часть — к его модулям.
Для характеристики «Производитель» обсуждался обязательный контроль заполнения с сохранением поведения после обновления CMS. В рассмотренном штатном сценарии нельзя было просто запретить фоновое создание товара до заполнения поля. В качестве варианта предложены скрытие товаров без производителя с витрины и выделение таких позиций в административной части; часть проверки могла выполняться через плагин управления товарами.
Предоплата, банковская карта и эквайринг Сбербанка
Магазину требовалась частичная предоплата с возможностью оплаты через сайт и личный кабинет. Этот сценарий включал изменения шаблонов, административной части, платёжных плагинов и обработки статусов заказа.
Восстановление предоплаты после обновлений
- Восстановлено отображение информации о предоплате в корзине.
- Вернули соответствующие тексты на этапах оформления заказа.
- Восстановлено поле «Предоплата» в административной части заказа.
- Обозначения в корзине и оформлении заказа приведены к названию «Предоплата».
- Проверялась работа внешнего плагина после обновления Webasyst и Shop-Script.
- Для восстановления использовались инструкция интеграции и сравнение с рабочей копией магазина.
- Выполнены исправления оплаты и интеграции с платёжным плагином Сбербанка.
На исходном этапе предоплата рассчитывалась как 30% от суммы товаров в корзине, без услуг и доставки. Отдельно поставлена задача вынести процент расчёта в настройки плагина.
В административной части предусмотрена возможность вручную задать сумму предоплаты. Покупатель должен получать возможность оплатить именно эту сумму через доступные платёжные кнопки.
Связь предоплаты с платёжными способами
Проверялась и настраивалась совместная работа плагина предоплаты со способами оплаты «Банковской картой через сайт» и «Эквайринг Сбербанка». После переноса и обновления исправлялись ошибки оформления заказа, сохранения изменённой суммы предоплаты и перехода к оплате.
Для успешной частичной или полной оплаты был предусмотрен статус «6.1 Предоплачен на сайте». В раннем сценарии использовался идентификатор состояния paid. На позднем этапе в обработку платежа добавлено выполнение действия рабочего процесса predoplata; эта доработка отмечена как принятая.
Страница оплаты по ссылке
Для плагина ссылки на оплату переработали оформление платёжных кнопок в стиле личного кабинета. Такой сценарий позволяет направить покупателю страницу оплаты заказа.
Дополнительно обсуждались шапка сайта, сообщение об успешном оформлении, номер и дата заказа. В существовавшем на том этапе шаблоне плагина данные заказа не были доступны, поэтому вывод номера и даты требовал отдельного расширения.
Новый платёжный плагин Сбербанка
На этапе 2022 года поставлена задача подключить новый плагин rbspayment и связать его с предоплатой по аналогии с действующим способом оплаты. Требуемый интерфейс включал отдельные кнопки частичной и полной оплаты.
Для передачи товарной номенклатуры в чек отмечена настройка «Передача корзины товаров». Также требовалось проверить страницу, на которую покупатель попадает после успешного платежа. Завершение всего нового сценария оплаты отдельно не зафиксировано.
Каталог, поиск, фильтры и мобильная версия
Структура страницы категории
- Блок фильтров перенесён выше подкатегорий.
- Исправлены ссылки популярных категорий, в которых отсутствовал участок адреса
/category/. - Включён фильтр товаров в мобильной версии; его вывод отделён от H1.
- Для мобильного списка товаров увеличено пространство под название до трёх строк.
- Исправлено отображение длинного текста категории.
При автоматической подгрузке товаров кнопка «Показать ещё» у описания категории могла исчезать. Обсуждались отключение автозагрузки и перенос текста выше списка. Принято решение выводить текст целиком; эта работа отмечена как завершённая и принятая.
Подсказки и применение фильтра
Выполнено отображение описаний характеристик, заданных в административной части: покупатель может открыть пояснение непосредственно в фильтре.
Отдельно разбирались обращения, при которых после выбора характеристики исчезали все товары. Проверялись сочетания признака комплекта, оттенка и производителя, а также взаимодействие AJAX-фильтра с загрузкой товарного списка.
Для применения выбранных условий обсуждалась кнопка «Показать» вместо автоматического обновления при каждом изменении. При выборе решения учитывалось, что такой режим уже предусмотрен штатным фильтром.
Фильтр и сортировка по цене
Работа ценового фильтра и сортировки по возрастанию зависела от корректной записи стоимости комплекта в товар и его основной артикул. Этот блок разбирался совместно с пересчётом цен и регламентными операциями плагина комплектации.
Поиск и избранное
Выполнено добавление сортировки и фильтров на страницы поисковой выдачи и избранных товаров. Дополнительно поставлена задача настройки плагина «Поиск PRO» в шаблоне магазина.
Облако тегов
Облако тегов плагина редактирования тегов выведено на страницу категории над сортировкой. После внедрения появилось уточнение: необходимо показывать теги, выбранные в настройках конкретной категории, вместо полного списка тегов магазина. Размещение блока выполнено; завершение отбора по настройкам категории отдельно не подтверждено.
Карточка товара и быстрый просмотр
Обычный товар
- В быстром просмотре восстановлено поле количества.
- Добавлены действия «В избранное» и «Сравнить».
- Исправлено наложение иконок на название товара.
- Добавлен вывод размеров.
- Информационные тексты согласованы по размеру шрифта с блоком размеров.
- Счётчик «Этот товар сейчас просматривают…» оставлен на странице товара.
- Исправлены отдельные ошибки вёрстки окна быстрого просмотра.
Быстрый просмотр товара-комплекта
Для комплектации нужен отдельный сценарий перехода к выбору модулей. Шаблон быстрого просмотра дорабатывался с учётом этого отличия:
- Убраны служебные подписи «Товар-комплект» и «Цены в карточке товара».
- На раннем этапе скрывали некорректную нулевую стоимость; позднее поставили задачу выводить цену комплекта.
- Ссылка «Перейти к выбору комплекта» перенесена в нижнюю часть окна.
- Удалены появившиеся в этом шаблоне кнопки обычного добавления в корзину и покупки в один клик.
- Убрана надпись с количеством товаров в комплекте.
- Согласованы размер шрифта и начертание ссылки перехода к комплектации.
Для текста перехода использован редактируемый блок modset_aware_link.
Информация о складе
В полные карточки и быстрый просмотр обычных товаров и комплектов добавлен текст «Склад отгрузки находится в Челябинске». В полной карточке он размещён над действием покупки, а его оформление согласовано с текстом размеров.
Для централизованного редактирования используется блок otgruzka.
Товары, снятые с производства
Для скрытых обычных товаров и комплектов вместо цены добавлен информационный текст:
Товар снят с производства. Мы уверены, что вы выберете то, что нужно, в нашем действующем каталоге.
Предусмотрена ссылка на действующий каталог, а сообщение о гарантии низкой цены скрыто. Текст вынесен в блок sniat_s_proizvodstva. Дополнительно обсуждалась ссылка на категорию, в которой товар находился до снятия с продажи.
Общий текст о цветопередаче
Предупреждение «Цвет полученной мебели может отличаться от представленного на фотографии» реализовано через отдельный блок product_attention. Его содержимое выведено перед описанием и перед значениями характеристик.
Такой способ позволяет централизованно менять общий текст и сохранять индивидуальное описание каждого товара. Использование общего поля SEO-плагина, которое заменяло бы описания всех товаров, для этой задачи не потребовалось.
Доставка, подъём, сборка и условия покупки
Во вкладку «Сборка» обычного товара и комплекта перенесены материалы со страницы услуг: информация о сборке, таблица тарифов на сборку и установку кухонь и другой мебели по производителям, а также таблица дополнительных услуг по кухням.
Отдельно проверялось оформление таблиц, включая мобильную версию. Для дополнительной вкладки согласован вывод блока dostavka_i_podem.
В проверку содержания карточки включены вкладки «Описание», «Характеристики», «Доставка и подъём», «Сборка» и «Условия покупки». Для вкладки характеристик обсуждались открытие по умолчанию и порядок значений.
Отзывы и кнопки «Поделиться»
- Восстановлена отдельная вкладка отзывов о товаре.
- Вкладка перенесена в конец списка и переименована в «Отзывы о товаре».
- Кнопки социальных сетей и мессенджеров перемещены в согласованное место карточки.
- Для социальных кнопок использовано решение Яндекса «Поделиться».
- Отправка товара по email сохранена для обычной карточки; для комплекта отдельное подключение этой функции не требовалось.
Добавление фотографий к отзывам, вопросы покупателей и модерация ответов выделены в следующий этап с подбором подходящего плагина.
Рекомендации и изображения
Выполнены изменения вёрстки блока рекомендованных товаров и карусели «Покупатели, которые приобрели этот товар, также купили». На более позднем этапе поступило повторное замечание к внешнему виду листания: после отметки о выполнении заказчик сообщил, что карусель осталась прежней. Эта часть требовала повторной проверки.
Отдельно фиксировались нестабильная прокрутка быстрого просмотра при смене изображений и ошибка переключения фотографий после увеличения одной из них. Для этих обращений требовалось воспроизвести поведение на конкретных товарах; окончательное исправление отдельно не подтверждено.
Главная страница: категории, хиты продаж и распродажа
Популярные разделы
В настройках витрины добавлено управление четырьмя категориями для блока популярных разделов. Категории выбираются по ID и выводятся в один ряд с короткими названиями.
Для применения этого варианта должны быть заполнены все четыре поля. При неполном заполнении используется прежний шаблон. Дополнительно исправлены адреса категорий и согласована ширина блоков со значками с шириной товарных карточек.
Хиты продаж
- Добавлено ограничение количества товаров, выводимых на главной странице.
- Для настройки обсуждалось значение, например, 24 товара.
- Предусмотрена ссылка из заголовка в категорию хитов продаж.
- Под списком добавлена ссылка «Посмотреть все Хиты продаж».
- Ссылка оформлена в стиле главной страницы: зелёный цвет, подчёркивание и согласованное поведение при наведении.
- Поставлен вопрос о настройке сортировки товаров внутри блока.
Управление этим разделом связано с настройками оформления витрины.
Промоакции
На раннем этапе доработан вывод товаров из промоакции: в настройках витрины задаются ID акции и заголовок. По умолчанию используется обычный товарный список, а созданная акция подключается к главной странице явно через настройки.
Баннеры и товары акции рассматривались как отдельные элементы размещения. Для изображений промо использовались фотоальбомы.
Дополнительно обсуждались несколько акций с отдельными таймерами: например, четыре товара одной акции с общим таймером либо товары из нескольких акций с разными таймерами. Базовая реализация работала с одной выбранной акцией; одновременный вывод нескольких акций требовал расширения настроек и отдельного согласования.
Переход к списку «Товары по акции»
На следующем этапе под главным слайдером выведена карусель из списка «Товары по акции (на главной)». Добавление товара в этот список определяет его участие в карусели.
- Заголовок изменён на «Распродажа».
- Для заголовка предусмотрена ссылка на категорию распродажи.
- Сохранено оформление карусели.
- Прежний код вывода промо оставлен закомментированным.
- Редактирование заголовка и ссылки связано с настройками оформления витрины.
При большом списке, в том числе более 50 товаров, дополнительно обсуждались ограничение числа выводимых позиций и постепенная подгрузка. Завершение этого расширения отдельно не зафиксировано.
Наклейки и отступы
В шаблон подключён плагин товарных наклеек. Для оформления рассматривалось использование стилей темы и фиксированного расположения справа, чтобы сократить зависимость от дополнительных стилей плагина.
Для дальнейшего использования обсуждались отметки «Хит продаж», «В наличии», «Новинка», «Идея подарка» и другие признаки товара. Также скорректирован отступ между шапкой и меню с предварительной проверкой на тестовой копии.
Корзина и оформление заказа
Купоны и понятное отображение скидки
В корзине, покупке в один клик и подтверждении заказа требовалось показывать действие купона: фиксированную скидку, скидку в процентах либо бесплатную доставку.
При согласовании использовались такие примеры отображения:
- Скидка на фиксированную сумму: «Скидка (на 110 ₽): 110 ₽».
- Процентная скидка: указание процента и рассчитанной денежной суммы.
- Бесплатная доставка: понятная подпись о действии купона.
В реализованном варианте подтверждены обозначения фиксированной скидки и бесплатной доставки. Расширенный формат процентной скидки отдельно не подтверждён.
Также разбирался случай, когда действующий купон бесплатной доставки в корзине воспринимался как недействительный, хотя на следующем этапе стоимость доставки становилась нулевой. Работы по выводу купонов в корзине и на подтверждении заказа отмечены как принятые.
Покупка и оформление в один клик
- Исправлено изменение размеров кнопки и окна при наведении на «Оформить заказ».
- Подпись скидки приведена к форме «Скидка».
- Исправлена ошибка, при которой поле имени требовало ввод цифр.
- Проверено соответствие полей имени и телефона настройкам плагина.
- Разбиралось исчезновение неполного номера телефона при переходе к другому полю.
Поведение неполного номера было связано с маской ввода. В рассмотренном варианте сохранение такого значения требовало отключения маски. На последующих этапах встречались повторные замечания о перепутанных полях имени и телефона, поэтому этот сценарий включался в повторную проверку.
Телефонная маска
Настроен ввод телефона с проверкой формата. При согласовании требовалась светлая подсказка с ожидаемым количеством цифр, например «7___ ___ __ __».
Отдельно разбирались появление дополнительных знаков форматирования, потеря телефона после обновления страницы и перенос номера в поле имени. Учитывалось поведение предустановленного значения маски: заполненная настройка могла приводить к потере введённых данных после перезагрузки, а пустое значение позволяло сохранять ввод.
Также рассматривалась замена плагина маски на другое решение для Shop-Script. Завершённые исправления телефонного ввода отмечены как принятые.
Тарифы на подъём мебели
Для ссылки «Посмотреть цены на подъём» реализовано открытие изображения тарифов в модальном окне на текущей странице.
- Тарифы редактируются через фотоальбом.
- Вывод привязан к альбому с одной актуальной фотографией.
- При замене изображения учитывается изменение автоматически созданной ссылки на файл.
- Восстановлено оформление ссылки: подчёркивание и зелёный цвет при наведении.
- Исправлялись ошибки открытия изображения и обращения к альбому.
Этот блок отмечен как принятый.
Очистка корзины
Добавлена кнопка очистки корзины, скорректировано её положение в интерфейсе. Для действия из выпадающей корзины в шапке также предусмотрена цель Яндекс.Метрики.
Обязательные контактные поля
Разобраны сообщения о незаполненных обязательных полях и потере контактных данных на этапе оформления. После уточнения условий появления сообщений заказчик подтвердил, что дополнительное изменение этого поведения не требуется.
Подсказки адреса
Поставлена задача подключить «Вся Dadata» для заполнения города и адреса на витрине и в административной части заказа. Завершение подключения отдельно не зафиксировано.
Регистрация, личный кабинет и уведомления
Страницы входа и регистрации
Шаблоны входа и регистрации приведены к согласованному оформлению рабочей версии магазина. Доработки включали расположение полей, текстов и кнопок, а также проверку телефонного номера при регистрации.
Для авторизации использовались email, телефон и внешние сервисы: ВКонтакте, Яндекс, Google и Mail.ru. При переносе уточнялись адреса поддоменов в настройках внешней авторизации.
Заказ без email
Отдельно анализировался сценарий, когда покупатель оформляет заказ по телефону без email, а затем хочет посмотреть статус и оплатить заказ в личном кабинете.
- При регистрации во время оформления могло появляться требование email, хотя отдельная регистрация допускала подтверждение телефона по SMS.
- Заказ без регистрации и последующая регистрация по тому же телефону могли создавать разные контакты.
- В таком случае заказ не появлялся в новом личном кабинете до объединения контактов в административной части.
- Учитывалось различие между email для информации о заказе и email в блоке авторизации.
Эта логика требовала отдельного решения с учётом механизма контактов Webasyst. В качестве рабочего административного действия использовалось объединение контактов; автоматическое устранение всех сценариев дублирования отдельно не подтверждено.
Отсутствие кнопки оплаты в личном кабинете зафиксировано как решённый вопрос. Возможность смены способа оплаты покупателем в разделе «Мои заказы» обсуждалась как дополнительная доработка с проверкой сохранения поведения после обновлений.
Письма покупателю
Письмо о регистрации оформлено в стиле других уведомлений магазина, включая письмо об оформленном заказе и напоминание о товарах в корзине. Изменение отмечено как выполненное и принятое.
Дополнительно поставлена задача включить ссылку на оплату заказа в письмо об оформлении.
Ссылка на заказ в административной части
Обсуждалось добавление ссылки на страницу заказа покупателя в данные заказа под ссылкой на оплату либо в историю выполнения. Для формирования ссылки предусмотрена переменная .
Этот сценарий особенно важен для заказов без email: менеджер должен иметь возможность получить ссылку и передать её покупателю. Завершение этой доработки отдельно не зафиксировано.
Оформление заказа менеджером
Поставлена задача исключить перезапись данных административного пользователя, когда авторизованный менеджер оформляет заказ на витрине от имени покупателя, в том числе через покупку в один клик. Подтверждённого завершения этого изменения нет.
Формы обратной связи и amoCRM
Для обращений «Перезвоните мне» и «Хочу дешевле» использованы формы amoCRM. Доработки затрагивали ссылки в шапке, полную карточку товара и оформление модального окна.
- Открытие формы amoCRM подключено вместо прежней формы плагина обратного звонка.
- Стили формы «Хочу дешевле» согласованы с оформлением магазина.
- Скорректированы отступы и размер шрифта в шапке и модальном окне.
- Исправлялась прокрутка при работе с формой.
- Проверено подключение формы в карточке товара.
Этот этап отмечен как выполненный и проверенный.
Позднее дополнительно обсуждались маска телефонного номера внутри формы amoCRM и отсутствие сообщения после отправки заявки. Проверка цифр выполнялась при отправке, а вопросы маски и подтверждающего окна требовали уточнения со стороны поддержки amoCRM.
Цели Яндекс.Метрики для покупки и обращений
В магазин добавлены JavaScript-события для ключевых переходов оформления заказа и отдельных действий интерфейса.
| Действие покупателя | Идентификатор цели | Результат этапа |
|---|---|---|
| Контактные данные введены, открыт выбор доставки. | checkout_delivery |
Добавлено. |
| Выбрана доставка, открыт выбор оплаты. | checkout_payment |
Добавлено. |
| Выбрана оплата, открыт шаг подтверждения. | checkout_confirm_order |
Добавлено. |
| Заказ успешно оформлен. | order_succes |
Добавлено. |
| Открыта форма обратного звонка из шапки. | ordercall_header_open |
Добавлено. |
| Открыта форма обратного звонка из карточки товара. | ordercall_product_open |
Добавлено. |
| Использована функция «Поделиться корзиной». | shortbasketlink |
Добавлено. |
| Корзина очищена из выпадающего блока в шапке. | delete_cart_from_header_cart |
Добавлено. |
| Отправлена заявка через форму amoCRM. | ordercall_send |
На рассматриваемом этапе подключение не реализовано. |
Для плагина «Поделись корзиной» также улучшено оформление изображения при публикации ссылки в социальных сетях.
Обновление платформы и сопровождение переноса на VPS
Работы выполнялись с учётом нескольких копий магазина, которые отличались шаблонами и состоянием доработок. При восстановлении функциональности сравнивали тестовую и рабочие версии, особенно интеграцию предоплаты и платёжных способов.
Обновление Webasyst и Shop-Script
После обновления проверялись индивидуальные изменения, внешние плагины и оформление заказа. Особого внимания требовала предоплата: её реализация включала изменения в платёжных способах и могла нарушаться при обновлении платформы.
Проверки после переноса на VPS Reg.ru
- Восстановление оформления заказа после ошибки, связанной с предоплатой.
- Проверка интеграции предоплаты с эквайрингом Сбербанка на тестовой копии.
- Исправление ошибки сохранения изменённой суммы предоплаты в заказе.
- Добавление действия рабочего процесса для обработки предоплаченного заказа.
- Разбор ошибок изменения способа оплаты в административной части.
- Исправление перехода по кнопке оплаты предоплаты.
- Восстановление работы раздела типов товаров и характеристик.
- Проверка информационных страниц после переноса.
- Восстановление отправки писем о заказе с нового сервера.
- Досинхронизация товарных изображений, добавленных на старой версии после создания копии.
Для проверки изображений использовался список недавно добавленных товаров. Дополнительно в перенос включены изображения цветов, связанные с плагином цветовых характеристик alaalifeatures.
Для информационных страниц допускался ручной перенос на рабочий домен. Большинство перечисленных исправлений после переноса отмечены как выполненные или принятые; отдельные дополнения проверялись по мере синхронизации копий.
Нагрузка на сервер и ошибки 503
До перехода на VPS фиксировались периодические ошибки 503. Хостинг сообщал о превышении количества процессов Apache и высокой нагрузке на базу данных. Для диагностики использовалось логирование медленных SQL-запросов.
В плане оптимизации рассматривались:
- Доработка плагина «Умные артикулы» совместно с его разработчиком либо новая реализация.
- Настройка кеширования через плагины Cached и Memcached.
- Подключение Memcached в окружении Webasyst.
- Проверка показателей PageSpeed.
- Использование предзагрузки контента через Preload и Push.
Эти решения относились к программе дальнейшей оптимизации. Количественные результаты скорости и завершение всех вариантов кеширования отдельно не зафиксированы.
Мобильное приложение Shop-Script
Разобрана ошибка «Не удалось подключиться к магазину» при подключении мобильного приложения Shop-Script. Проверка связывалась с конфигурацией сервера и рекомендациями поддержки Webasyst; обращение отмечено как принятое.
Ошибки административной части
Отдельно фиксировалась недоступная кнопка редактирования товара при наличии параметра возврата directedit__back в адресе. Позднее отмечено, что ошибка перестала воспроизводиться.
Также поставлена задача проверить изменение цен товара и его артикулов после редактирования ЧПУ. Для определения причины обсуждалась проверка журналов действий и влияния плагинов; окончательный вывод отдельно не зафиксирован.
Дополнительные задачи развития и согласованные ограничения
Подготовка данных перед запуском
Для перехода на подготовленную версию магазина обсуждались разовые операции с заказами и покупателями:
- Очистить тестовые заказы перед началом работы.
- Задать стартовую нумерацию с округлённого значения 22 000.
- Очистить контакты на целевой копии перед импортом.
- Перенести только покупателей «Мебель Урала».
- Передать фамилию, имя, отчество, телефон и email.
- Перенести адресную книгу: страну, область, город и адрес.
- Согласовать формат файла и названия столбцов для загрузки.
Стандартный экспорт покупателей с рабочей версии завершался ошибкой 504 Gateway Time-out, поэтому рассматривалась выгрузка непосредственно из базы данных. Завершение всех разовых операций отдельно не подтверждено.
Причины отказа от заказа
В плагине причин отказа реализовано обязательное указание причины при переводе заказа в статус «ОТКАЗ». На следующем этапе скрыты вариант «Другая причина» и поле свободного ввода причины. Оба изменения отмечены как выполненные.
Автоматический расчёт подъёма
Для отдельного плагина расчёта подъёма согласован следующий алгоритм:
- При наличии лифта стоимость равна двум базовым ставкам подъёма, определяемым по стоимости заказа.
- Без лифта стоимость равна количеству этажей, умноженному на соответствующую базовую ставку.
Эта автоматизация выделена в отдельный этап после запуска; завершение плагина не подтверждено.
Информационный блок преимуществ
Для карточки обсуждался отдельный блок с условиями магазина на момент постановки задачи: гарантийный срок в зависимости от фабрики, возврат в течение 14 дней, бесплатный самовывоз, доставка от 500 рублей и сборка от 500 рублей.
Также планировались вопросы и отзывы покупателей с модерацией, отзывы с фотографиями и дальнейшая настройка товарных наклеек. Эти пункты относятся к дополнительному развитию карточки.
Микроразметка
Поставлен вопрос о микроразметке для представления категорий товаров в виде карусели в поисковой выдаче. Подтверждённого внедрения и результата отображения отдельно не зафиксировано.
Задачи, снятые с выполнения
- Исправление автоматического добавления услуги «Подъём»: фиксировались добавление без установленной галочки и двойное добавление при её выборе. На рассматриваемом этапе задача отменена.
- Корректировка расстояния между кнопками в модальном окне добавления товара в корзину после переноса также отменена.
- Вывод блока удалённых районов непосредственно в настройки доставки потребовал бы изменения ядра; от этого варианта отказались.
- После уточнения причин сообщений об обязательных контактных полях дополнительная доработка этих сообщений не потребовалась.
Результаты подтверждённых этапов
Проект охватывал поддержку магазина с индивидуальной логикой комплектаций, оплаты и оформления заказа. Подтверждённые этапы включают:
- Поэтапную загрузку дополнительных модулей комплекта с настройкой размера порции.
- Алфавитную сортировку товаров, доступных для добавления в комплект.
- Новую реализацию механизма комплектации и регламентных операций.
- Восстановление предоплаты, административного поля и интеграции с оплатой картой.
- Обработку предоплаченного заказа через действие рабочего процесса.
- Изменения категорий, мобильной витрины, карточек и быстрого просмотра.
- Управление популярными разделами, хитами продаж и каруселью распродажи.
- Доработки купонов, телефонного ввода, покупки в один клик и очистки корзины.
- Оформление страницы оплаты, регистрации и писем покупателю.
- Подключение и оформление форм amoCRM.
- Настройку событий Яндекс.Метрики для оформления заказа и действий интерфейса.
- Исправления и проверки после обновления платформы и переноса на VPS.
Новые интеграции, повторные замечания и дополнительные сценарии выделены в самостоятельные этапы. Это позволяет развивать магазин последовательно: проверять расчёт и покупку комплекта, оплату, работу каталога и совместимость индивидуальных изменений после обновлений.
Доработка и поддержка вашего интернет-магазина
Quadro Design помогает развивать магазины на Webasyst и Shop-Script: дорабатывать комплектации, плагины и расчёт цен, подключать оплату и CRM, улучшать каталог и сопровождать обновления.
