Переезд с miniShop2 на Vesp /

Импорт и управление заказами

Сегодня продолжаем прогружать старые данные в новую базу - дошла очередь и до заказов.

Помимо собственно заказов, miniShop2 хранит ссылки на купленные товары и адреса доставки покупателей. Изначально в нём планировалось сделать выбор адреса при новом заказе, чтобы старый покупатель не вводил его каждый раз, но в стандартный функционал это так и не вошло.

В VespShop мы это исправим.

Читать далее
Переезд с miniShop2 на Vesp /

Связи товара и мультикатегории

Продолжаем улучшать админку.

Сегодня вы переделаем карточку товара таким образом, чтобы добавить в неё вкладки с галереей, связями и категориями - это будет удобнее отдельных кнопок в таблице.

Галерея переедет как есть, а связи и категории товара напишем вместе с новыми контроллерами.

Читать далее
Переезд с miniShop2 на Vesp /

Сортировка моделей и генерация uri

Возможно вы обратили внимание, что при создании категории в нашей прошлой заметке, она получалась с rank = 0, и выводилась вверху дерева.

Это потому, что у модели категории, как и у прочих моделей, не прописана логика выставления этого самого rank. И сейчас мы её пропишем.

А потом подумаем, как обновлять uri категорий и товаров при перемещении в дереве.

Читать далее
Переезд с miniShop2 на Vesp /

Рекурсивное дерево категорий

Сегодня будет интересно - мы напишем рекурсивное дерево категорий, которое позволит нам:

  • создавать новые категории
  • редактировать имеющиеся
  • удалять категории
  • сортировать перетаскиванием
  • сворачивать и разворачивать
  • передавать выбранную категорию наружу другим компонентам

Мы создадим полнофункциональное дерево по типу админки MODX, только своими руками.

Читать далее
Переезд с miniShop2 на Vesp /

Импортируем товары

Для импорта товаров нам понадобится обновить модель и добавить к ней новые связи: с переводами, другими товарами и категориями.

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

Затем опять обновим админку для вывода товаров. Сегодня будет не особо интересно, но увы, сделать это надо.

Читать далее
Переезд с miniShop2 на Vesp /

Импортируем категории товаров

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

Новые категории хранят свои текстовые колонки в отдельной таблице, так что нам нужно будет создать модель и для неё, а потом написать всякие вспомогательные методы в админке для удобного использования переводов.

Помимо этого, категории еще могут иметь картинку, но тут мы просто используем компонент upload-file, который написали вчера для юзеров.

Читать далее
Переезд с miniShop2 на Vesp /

Импортируем пользователей

Сегодня мы обновим нашу модель пользователя, чтобы отражать изменения таблицы. Добавим всякие методы для сброса, активации и реализуем проверку паролей старых юзеров из MODX.

Проверять это всё будем путём импорта пользователей из тестовой БД, которую я получил путём обфускации данных рабочей базы.

Затем обновим админку для отображения новых данных, а вишенкой на торте будет загрузка аватарок.

Читать далее
Переезд с miniShop2 на Vesp /

Новая структура таблиц магазина

Мы стартуем с момента окончания прошлого курса, поэтому я предлагаю вам скачать архив с кодом после его завершения.

Внутри есть директория docker, там нужно запустить docker-compose и можно работать. Более подробно про работу с Docker можно прочитать в отдельной заметке, там много комментариев с решением типичных вопросов.

Если же у вас остались данные от первого курса, то предлагаю обнулить вашу базу и пересоздать всё заново. Для этого можно или откатить все миграции, или просто вручную грохнуть БД. Проще всего удалить docker/db и перезапустить контейнер, он создаст новую базу.

Также я еще обновил php и node зависимости, и внёс вот это в core/phinx.php:

    'templates' => [
        'style' => 'up_down',
    ],

Теперь новые миграции сразу содержат методы up() и down(), вместо change().

Читать далее
Переезд с miniShop2 на Vesp /

Начинаем новый курс

Как и обещал, начинаем новый платный курс по переезду с miniShop2 на Vesp.

В нём мы разберём мой опыт по переносу работающего швейцарского магазина по продаже табачных изделий. У нас такие магазины, вроде бы, продавать ничего не могут по закону, но для примера без разницы.

Основываться мы будем на базе из прошлогоднего курса по Vesp. То есть, я буду рассчитывать на то, что вы его прочитали и поняли.

В будущих заметках мы:

  • создадим модели и таблицы товаров
  • перенесём в них товары из miniShop2 со всеми нужными свойствами
  • перенесём изображения товаров
  • перенесём пользователей с сохранением паролей
  • адреса пользователей, заказы, оплаты и т.д.
  • доработаем админку для управления всем этим богатством

Картинки для привлечения внимания:

Читать далее
Личный блог /

Текущие новости

Привет, читатели! Снова большой перерыв между заметками, почти 2 месяца, так что надо рассказать, чем был занят.

В июне я отработал последний месяц в голландской компании Sterc, в которой трудился с декабря. Устраивался работать с перспективными проектами на базе Vue и Laravel, с надеждой протащить под это дело Vesp, но в итоге всё время работал с MODX.

Проекты у Sterc крупные, разрабатываются командами из нескольких человек, через Git. Есть куча самописных закрытых библиотек и наработок, в это всё пришлось въезжать и по ходу дела не переставал мучать вопрос - а зачем здесь вообще MODX, если, например, для запуска разных задач в очередях рядом устанавливается Laravel Horizon?

В общем, работы с MODX я не выдержал и, несмотря на хорошую зарплату, уволился.

Последние 4 месяца я работал 40 часов в неделю в Sterc и 10 часов в Pixmill - то есть 200 часов в месяц, вместо обычных 160. Казалось бы, небольшая разница, а на самом деле это 5 рабочих недель в месяц, вместо 4х и времени восстановиться совсем нет.

Только за эти ударные 4 месяца я заработал около 2 млн рублей и закрыл долг в банке за покупку дома.

Читать далее
Новости сайта /

Курс по Vesp доступен бесплатно

Прошёл уже год с момента старта последнего, на данный момент, курса по Vesp.

Думаю, за это время его смогли купить и пройти все желающие, так что продажи останавливаются и курс открывается для всех.

Минутка занимательной статистики:

  • в курсе 24 заметки
  • всего курс купили 32 раза
  • на сумму 105 тысяч рублей

В принципе, неплохо, но бросить работу и писать полезные заметки за донаты, очевидно, не получится.

Читать далее
Работа на Vesp /

Отправка писем

Внезапный дополнительный выпуск в уже оконченном курсе!

Поступил вопрос - а как отправлять письма? Для этого я использую PHPMailer, Fenom и Emogrifier.

Fenom будет готовить шаблоны писем, Emogrifier встраивать стили непосредственно в элементы (чтобы всё правильно читалось в почтовых клиентах), а PHPMailer будет отправлять.

Добавляем новые зависимости в проект:

composer require phpmailer/phpmailer fenom/fenom pelago/emogrifier
Читать далее
inetlover
Александр Наумов
01.03.2024 21:20
Если надо просто иконки добавить, то вот приятный сервис - https://realfavicongenerator.net А сюда ...
bezumkin
Василий Наумкин
22.02.2024 09:23
На здоровье! Держи лайк =)
inetlover
Александр Наумов
27.01.2024 00:06
Василий, спасибо! Извини, тупанул.
bezumkin
Василий Наумкин
22.01.2024 04:43
Давай-давай!
bezumkin
Василий Наумкин
24.12.2023 11:26
Спасибо!
bezumkin
Василий Наумкин
27.11.2023 02:43
Ура!
bezumkin
Василий Наумкин
25.11.2023 08:30
Vesp тянет 2 зависимости: vesp-frontent для фронта и vesp-core для бэкенда. Их можно обновлять, но э...
bezumkin
Василий Наумкин
22.11.2023 08:09
Отлично, поздравляю!
bezumkin
Василий Наумкин
04.11.2023 10:31
На здоровье!
bezumkin
Василий Наумкин
30.10.2023 01:21
Спасибо!