Задать вопрос
  • Какой у вас процесс разработки сайта(opencart) с применением git? Как вы синхронизируете БД в git? Что вы закрываете в .gitignore для opencart?

    @trueboroda
    Придумываю воркфлоу с нуля для проекта на OC. Есть некоторые идеи, которые могут решить не решённые в прошлых ответах вопросы.
    1. Git и GitHub, skeema. В качестве подхода. Можно использовать обычный Git Workflow, а можно попробовать TBD. А на стадии сборки можно коммитить и прямо в мастер - Central Workflow. 
    Гит конечно можно использовать. Но возникает вопрос - как отслеживать изменения от модулей в распределённой файловой структуре OC? А ещё код модификаторов который фиксируется в БД....
    Для себя решил так. Так как код OpenCart и его модульная система предполагает распределение расширения(ocmod) по иерархии каталогов, а также запись модификаторов, как в файловую структуру так и в БД, стоит рассматривать проект на OC как монолит кода. То есть, отслеживать каждый модуль отдельно, не имеет смысла, если вы не делаете расширение, а делаете магазин. Каждый добавляемый модуль делает инкремент к ценности и отслеживается как изменения всего проекта. Это даёт возможность также отследить, какие именно изменения привносит тот или иной модуль. Также в купе с кодом стоит отслеживать и изменения схемы данных и самих данных, например oc_modification - изврат, но так всё будет под контролем. Об этом дальше в пункте 3.
    3. Использовать альтернативный версионным миграциям подход - следить за состоянием схемы данных, и возможно ключевых данных: базовые справочники, настройки, те же модификаторы в БД. Сам Гитхаб использует такой подход. Подробнее здесь.
    2. Про автоматизацию доставки изменений (CI/CD). Опыт самого гитхаба изложенный в статье по ссылке выше, доказывает что всё возможно. Например с применением тех же GitHub Actions. Но на старте этим лучше голову не забивать. Сам гитхаб рассказывает в статье, что сначала они всё делали сами руками, а потом пришли уже к автоматизации, когда рабочий процесс устоялся.
    4. На гитхабе есть стандартный .gitignore для проектов на OC, когда заводите новый репозиторий. Но по сути за основу можно взять гитигнор из вашей сборки, например вот от клубной сборки. И исключить ещё папку с картинками каталога продуктов. А Остальное должно быть под контролем. Дальше нужно развивать ваш gitignore в зависимости от технологий вашего проекта.

    При этом нужно следовать заложенной идеологии платформы. Не трогать напрямую файлы платформы, только через модификаторы. Временно в фичеветке можно почудить, но фиксировать только через модификаторы.

    Позже отпишусь как такой подход работает. И вообще стоит ли )
    Ответ написан
    Комментировать
  • Как адаптивно сверстать данный блок?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Я бы эту штучку попробовал прикрутить, а стрелки стилизовал под белые линии
    Ответ написан
    Комментировать
  • Как получить ошибки из formRequest Laravel 10 в контроллере?

    @aleksejjjjj
    Смотрите на заголовки. В ларавел это работает из коробки. Если запрос ajax - возвращаем 422 и список ошибок, если из формы - редирект обратно.

    Все запросы к api должны использовать application/json тогда редиректа не будет
    Ответ написан
    4 комментария
  • Можно ли запретить доступ ко вкладке расширений (chrome://extensions/)?

    zkrvndm
    @zkrvndm
    Архитектор решений
    У расширений есть доступ ко вкладкам, можно отслеживать какая именно вкладка сейчас активна и если надо, закрыть вкладку.
    Ответ написан
    2 комментария
  • Как лучше спроектировать базу данных, MySQL?

    @rPman
    Названия кошмар, даже не с русским делом, вот почему у тебя в одном месте лайк/дизлайк это 'статус', а в другом - 'лайк'?

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

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

    Справочник категория жалобы не понятно зачем там два поля название и описание, когда в самой жалобе есть примечание, но это мелочи

    Хранить пароль пользователя - плохая практика (храни к примеру его хеш, какой-нибудь sha256), но это уже на твое усмотрение, так как определит процесс авторизации
    Ответ написан
    1 комментарий