Миграция с других платформ
Переносит магазин с Webasyst: каталог, склады, покупателей и заказы.
Переезд с Webasyst (Shop-Script) без ручного перебивания данных: каталог, покупатели и заказы переезжают в новый магазин сами, а старый при этом только читается и продолжает работать. Перед началом вы увидите, сколько всего нашлось, и свяжете характеристики, типы товаров, склады и статусы заказов старого магазина со своими, чтобы не получить дубли.
Что делает
- Переносит категории, типы товаров, характеристики со значениями и сами товары — с артикулами, ценами, единицами продажи и минимальным количеством.
- Переносит склады с раскладкой остатков по каждому и добавляет их к вашим.
- Забирает фотографии товаров в самом крупном размере, который старый магазин отдаёт по сети; повторный запуск не качает уже перенесённое.
- Переносит покупателей с телефонами, почтой, адресами и датами. Того, кто уже есть в магазине, ищет по номеру телефона и почте и дополняет его карточку, а не заводит вторую, — история покупок не разрывается.
- Переносит заказы: состав, суммы как в старом магазине, скидки, купон, адреса, названия способов оплаты и доставки. Суммы не пересчитываются.
- Подключается на выбор: по ключу доступа к старому магазину или напрямую к его базе — второй способ быстрее и переносит переводы содержимого, если в старом магазине было приложение мультиязычности.
Что нужно для работы
- Адрес старого магазина и ключ доступа — его выдаёт сам старый магазин по ссылке из формы, только на чтение.
- Либо доступы к базе старого магазина: сервер, название базы, пользователь и пароль (файл wa-config/db.php старого сайта), плюс адрес сайта — по нему забираются фотографии.
Что нового
После переноса заказов на экране переезда появился блок «Способы в перенесённых заказах». В нём перечислены названия способов оплаты и доставки так, как их прислал старый магазин, и сколько заказов стоит за каждым названием. Вы выбираете напротив каждого свой способ и нажимаете «Связать и проставить» — магазин проставляет его всем таким заказам сразу, не трогая суммы.
Дальше эти заказы ведут себя как обычные: у неоплаченного появляется кнопка оплаты в личном кабинете покупателя, накладная видит наложенный платёж, а отбор по способу находит их в списке заказов. Старый магазин своих способов не отдаёт вовсе — их настройки не переносятся, — поэтому связывать приходится после переноса, по названию из самого заказа. Блок виден и через неделю после переезда, а когда несвязанных названий не остаётся, он не показывается.
Что сделать после обновления
Дополнению нужен магазин версии 2.45.0 или новее. Если вы переносили заказы раньше, откройте раздел «Переезд» и свяжите способы: до этого перенесённые заказы не знают, чем за них платили и чем везли.
Что починили
Числовые характеристики теперь переезжают числами. В старом магазине объём, вес и длина часто выбирались из списка готовых значений, и переезд заводил у вас такую же характеристику со списком — хотя у нас число вводится числом. Из-за этого каталог разъезжался: у части товаров значение лежало числом, у части значением из списка, в карточке товара поле стояло пустым, а группа аксессуаров с условием по объёму не показывалась ни на одном товаре. Дополнение читает вид характеристики в старом магазине и сразу сопоставляет его с нашим.
Что сделать после обновления
Если вы уже переехали и видите в карточках пустой объём или вес, откройте «Настройки → Диагностика»: проверка числовых характеристик найдёт такие характеристики и починит их кнопкой. Заново переносить каталог не нужно.
Видно, на каких языках переезжает содержимое
Если в старом магазине стоит приложение мультиязычности, переводы названий, описаний и SEO переезжают вместе с товарами и категориями. Теперь при проверке связи видно, на каких именно языках они там заполнены и сколько переводов на каждом, а во время переноса эти языки показаны прямо под полосой хода работы.
Язык, которого в вашем магазине ещё нет, помечается отдельно: переводам на него лечь некуда. Заводить его вручную не нужно — на том же экране появляется кнопка «Завести недостающие языки». Языки добавляются выключенными, поэтому на витрине ничего не меняется, пока вы сами их не включите.
Фотографии через файл-мост идут напрямую
Файл-мост теперь отдаёт снимок как есть, а не строкой внутри ответа. Раньше каждая фотография в пути разбухала примерно на треть и целиком лежала в памяти обоих серверов — на каталоге с тысячами снимков это лишнее время и лишняя нагрузка на работающий магазин.
Скачивать новый файл-мост ради этого не нужно: уже загруженный на старый сайт продолжит работать, а новый переезд возьмёт файл сразу в обновлённом виде.
Ничего лишнего не спрашиваем
Если старый магазин стоит на этом же сервере или рядом с ним лежит файл-мост, переезд больше не спрашивает ни адрес сайта, ни ключ доступа. Названия ваших статусов заказов дополнение читает прямо из настроек старого магазина, поэтому на экране связывания вы видите «На упаковке», а не «na-upakovke».
Фотографии в этих двух случаях переезжают оригиналами: файлы берутся с диска старого магазина, а не скачиваются с сайта уменьшенными копиями. Остаётся указать папку магазина (или адрес файла-моста) и язык переносимого содержимого — больше ничего.
Переезд без доступов к базе старого магазина
Чтобы перенести магазин, раньше приходилось искать доступы к базе старого магазина, а хостинги почти всегда закрывают базу снаружи — на этом переезд и останавливался. Теперь подключиться можно четырьмя способами, и два из них ничего у вас не спрашивают.
Если старый магазин стоит на этом же сервере, укажите папку, в которой он лежит: доступы к базе дополнение прочитает из его собственных настроек. Если он на другом сервере, скачайте небольшой файл-мост, положите его рядом со старым магазином и укажите адрес этого файла. Файл только читает старый магазин и ничего в нём не меняет, отвечает лишь на запросы с вашим ключом, а через неделю перестаёт работать и удаляет себя сам. Закончите переезд раньше — уберите его кнопкой на экране переезда.
Виден ход переноса
Экран переезда показывает текущий шаг, полосу выполнения, сколько записей перенесено из скольких найденных, сколько идёт работа и сколько записей не прошло. Ниже — все этапы со счётчиками: пройденные, текущий и те, что ждут очереди.
Перенос можно забыть и начать заново
Перенос помнит, что уже перенесено, и второй раз те же записи не создаёт. Если перенесённое потом убрали — сбросили магазин или почистили каталог, — эта память начинала мешать: товары значились перенесёнными и в отчёте стоял ноль, а заказы не доезжали, потому что их позиции ссылались на удалённые товары.
Теперь на экране переноса есть кнопка «Забыть перенос». Магазин перестаёт помнить прежнее сопоставление, и следующий перенос начинается с чистого листа. Уже перенесённые товары и заказы при этом остаются на месте.
Мастер переезда вернулся в панель
Переезд снова работает целиком: подключение к старому магазину со ссылкой за ключом доступа, связывание справочников — с поиском и связыванием совпадающих названий разом, выбор характеристики, которая была брендом, и сам перенос порциями с живыми счётчиками. Незаконченный переезд экран подхватывает сам: закрыли вкладку — открыли снова и продолжили с того же места.
Единицы продажи переносятся правильно
При переезде единицы товара с другой платформы записаны словами и как попало. Теперь они сопоставляются со справочником вашего магазина, и товар приезжает с той единицей, в которой он продавался, — килограммами, метрами, литрами.
Свой значок у дополнения
В разделе «Плагины» и в списке установленного дополнение теперь видно по собственному значку, а не по одинаковой коробке. Нужное вы находите взглядом, а не чтением всего списка. Значок появляется на магазине версии 1.30.0 и новее.
Статус старого магазина, которому нет пары в вашем, теперь заводится сам, а не подменяется стартовым: раньше из-за этого тысячи заказов оказывались в статусе «Новый», а история — «Ожидает оплаты», «На упаковке», «Заморожен» — исчезала. Название нового статуса берётся то, которым вы подписали его на экране связывания.
Проверка связи с базой старого магазина больше не путает недоступную базу с чужой: раньше при закрытом порте или неверном пароле магазин отвечал «это не база Webasyst, проверьте название», и владелец правил имя базы впустую. Теперь связь проверяется отдельно, причина отказа приходит от самого сервера базы и остаётся на экране.
Исправлен перенос значений характеристик: часть значений приезжала без названия, и в редакторе характеристики стоял ряд пустых полей, а на витрине — пустые пункты фильтра. Теперь название берётся из любого поля, где его держит старый магазин, а значение без названия не заводится вовсе.
Свои статусы старого магазина показываются названиями, а не кодами: названия подтягиваются по ключу доступа либо задаются вручную на экране связывания.
Исправлен переезд напрямую из базы: справочники для экрана связывания больше не требуют ключ доступа к старому магазину.
Появился второй способ подключения — напрямую к базе старого магазина.
Он быстрее, не спотыкается об особенности обмена по сети и переносит то, чего по сети получить нельзя: переводы содержимого. Названия, описания и SEO приедут на всех языках, на которых они заполнены в старом магазине, вместе с названиями характеристик, их значений и вариантов покупки. Старый магазин при этом только читается — как и раньше.
Доступы берутся из файла настроек старого магазина. Если новый магазин стоит на том же сервере, достаточно указать localhost.
Прежний способ по ключу доступа остался и исправлен: заказы больше не останавливаются на десятитысячном, значения характеристик не теряются, а причина остановки не пропадает из отчёта.
Перенос заказов больше не останавливается на десятитысячном.
Старый магазин на части номеров отвечает неверно: на «заказы после 10000» отдаёт заказы с самого начала, а число записей выдумывает. Перенос этому верил, дальше пройти не мог и объявлял себя завершённым — до конца доезжало около 15% заказов, а владелец видел «готово». Теперь заказы забираются по счёту записей, каждая порция сверяется, и при неудаче перенос останавливается с причиной, а не рапортует об успехе.
Значения характеристик больше не теряются. Раньше приезжали только цвет и размеры, а материал, производитель, назначение и прочий текст оставались пустыми: сама характеристика создавалась, а поле у товара — нет. Заодно у половины характеристик не переносился список значений, а многозначные теряли всё, кроме первого: товар с четырьмя назначениями получал одно.
Причина остановки больше не теряется в отчёте: раньше её вытесняли уведомления о ненайденных товарах, и переезд стоял без единого слова о том, почему.
Переадресация со старых адресов убрана из переноса — она настраивается отдельным плагином.
Перед запуском переноса объяснено, что происходит с покупателем, который в магазине уже есть: его находят по телефону или почте, карточку дополняют, а не переписывают, заказы привязывают к ней же.
Фотографии переносятся мелкими порциями и не замирают, ошибки описываются словами, артикулы считаются отдельно от товаров.
Переезд живёт в «Настройках плагинов». В связывании показываются названия ваших записей, а не номера; справочники разбиты на блоки; оплата и доставка убраны.
Переезд живёт в «Настройках плагинов» и работает без настройки сервера: порции идут сами, на экране видно текущий этап и счётчики. Справочники разбиты на блоки, оплата и доставка из связывания убраны.
Ключ доступа к старому магазину теперь выдаётся по кнопке: введите адрес магазина — и ссылка соберётся сама, вместе с возвратом в этот магазин.
Переносит склады старого магазина вместе с остатками на каждом из них. Склад можно связать с тем, который уже есть в магазине, — тогда остатки лягут на него, а его настройки не изменятся.
Добавлены фотографии, покупатели, заказы и переадресация со старых адресов.
Первый выпуск: перенос каталога с Webasyst (Shop-Script) — категории, типы товаров, характеристики, товары с артикулами.