Семён Кудрявцев
С нами с 21 августа 2015; Место в рейтинге пользователей: #406 часов назад
Ну вот и правильная мысль, я же правильно понимаю, что все дополнения, что написаны на ms2 надо переписывать на ms3 многие авторы это не будут делать,...
MiniShop3 - 1.0.0-alpha 15
Вчера в 10:16
Посмотрел докумендацию Sendit.
и нашел то что искал, конечно надо будет писать побольше кода, но это то что надо, и очень гибко оказывается.
Спасибо...
Как кастомизировать сообщения после Регистрации на сайте? 3
28 ноября 2024, 18:01
Так делал на одном проекте, нужно было добавить поиск по полю pagetitle. Думаю, что можно и на TV переделать.
<?php
class myCustomFilter extends...
mFilter2 фильтрация tv 3
28 ноября 2024, 17:35
На ноде при запуске сервера можно большую часть проинициализировать. Например, прогрузить настройки, чанки и сниппеты в память и не лазить за ними в б...
Плюсы и минусы Vue и gtsAPI 18
27 ноября 2024, 19:13
Вообще можно завести допполе и при сохранении ресурса плагином писать в допполе разбирая pagetitle.
Модификатор сортировки pdoResources по pagetitle 7
27 ноября 2024, 12:36
Добрый день. Появилась новая ошибка: 27.11.2024 12:30:20 ERROR /www/site.ru/core/components/yasmartcaptcha/model/yasmartcaptcha.class.php 60
Reco...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 6
Мне знакома твоя ситуация, я сам был в ней 2 года назад и вот к чему пришел в итоге поисков я:
Для жизни ему нужно очень мало по сравнению с аналогами, а вот вопросы поиска, сортировки и фильтрации он решает довольно неплохо. Опять же с пониманием максимального на данный момент количества индексируемых документов (около 32 000 штук). Чего для большинства будет с головой.
Но можно попробовать другой вариант, правда более медленный, но если получится напишите сюда. Я честно его не пробовал, просто первое, что в голову пришло, но теоретически развить этот вариант можно попробовать
очень удобно создаешь сколько угодно тебе корзин, называешь их как тебе надо, типа — присмотрел к др, подраки на нг, ит.д
Лежат себе и кушать не просят, актуализируются автоматически.
Если сделать грамотно, очень удобно будет. Корзины хранятся в бд, доступны менеджерам из админки, в любой момент могут их посмотреть, помочь клиенту дособрать, или оформить любую из корзин.
в какой-нибудь отдельный метот, типа — applyHTMLChanges или лучше renderCart, так метод status будет чистым — отвечать только за получение данных актуальной корзины.
Есть несколько компонентов, которые так или иначе пересчитывают корзину, ну и само собой все товары в ней.
Так вот в каждом таком компоненте авторы, в своем js, кто как реализует обновление данных корзины в html:
1) Кто-то циклом проходит и меняет в товарах цену и старую цену, а также результирующий блок
2) Кто-то целиком меняет весь кусок html кода корзины
Если в коробке miniShop2 будет универсальный метод получения актуальной корзины и обновляющий соответственно html на странице корзины, тогда в любом компоненте можно просто будет вызвать что-то типа
И всё сразу обновилось на странице на актуальные цифры.
Если понадобится что-то кастомное делать в чанке корзины, то поправить нужно будет только коробочный класс корзины (имею ввиду не исходники, а доработанную копию). То есть изменить только в одном месте.
Не придется лезть во все js других компонентов и везде менять реализацию обновления данных корзины.
Ну и ещё на ум пришел пример, если корзину делать на условном React, Vue, любом реактивном фреймворке, то как-то нужно получать стейт корзины из js, чтобы вьюха по стейту всё обновляла на странице.
Мне одному кажется, что метод должен называться — sendRequest? Так как шлем «запрос» на сервер.
Или я тут что-то не улавливаю до конца?
Ещё момент, очень не хватает со стороны js метода запроса получения актуального состояния корзины,
чтобы прямо из консоли можно было вызвать так — miniShop2.Cart.status(); Без параметра, метод возвращал бы актуальную корзину, а с параметром как обычно отрабатывал. По аналогии как сейчас работает miniShop2.Order.getcost();
Единственное, что сразу бросилось в глаза, это при создании коллекции и выводе её в шаблоне через сниппет получается следующее неудобство:
Если в коллекции один элемент — возвращается объект
Если в коллекции более одного элемента возвращается массив
Если уж это коллекция то по идее должен всегда возвращаться массив, иначе нужно делать дополнительные проверки в шаблонах на то, что там вернул сниппет, массив или объект.
Честно говоря такая практика не очень мне лично нравится, но хорошо, что хоть какие-то решения ещё появляются для MODX
1)Хоть какой-никакой адекватный функционал управления заказами из админки, я имею ввиду, возможность создавать заказы, печатать документы по ним, адекватный пересчет всех параметров заказа (состав, доставка, оплата, скидки), также нужен минимальный функционал выйти на связь с клиентом, хотя бы через отправку E-mail. Сегодня чтобы это реализовать нужно поставить минимум 6 дополнений, которые сломают интерфейс окна заказа, так как каждое добавляет свои поля и настройки в extjs как попало, потому что нет регламента расширения интерфейса окна заказа. Приходится лезть в исходники extjs этих компонентов и переписывать их.
2)Заложенная в коробку и продуманная система скидок/подарков/бонусов — это ключевой блок, на котором разработчики смогут зарабатывать на своих дополнениях. То, что сейчас есть, куча дополнений, где каждое считает несогласованно с другими — это проблема плохой архитектуры. Один компонент переписывает напрямую сессию, второй пытается через методы пересчитывать, в итоге один перебивает расчеты другого — полная вакханалия. Нужен четкий интерфейс для дополнений, чтобы их можно было выстраивать в логические цепочки для конечного расчета заказа. Кому-то нужно сначала применить промокод, а потом скидку от суммы, а кому-то наоборот, это должно решаться простейшим изменением порядка срабатывания и желательно не завязанного на приоритет плагина компонента. Где-то видел, уже не помню на какой платформе, решение — раздел скидок сделан в виде цепочки, куда можно перетягиванием добавлять узлы (компоненты скидок, промокодов, бонусов) — и прям мышкой можно настроить их порядок срабатывания и другие условия совместной работы, типа установка пороговой суммы при которой следующий узел будет активным. Это самое удобное решение из всех, что я видел)
3)Сосредоточиться на API, если будет полное покрытие функционала на API, это даст просто нереальную свободу, будут писать и собственные админки для менеджеров в виде пакетов на всяких Vue.js и React.js и дополнения смогут использовать всю мощь API, вместо того, чтобы придумывать свои велосипеды. Я считаю, что если магазином можно будет пользоваться на полную, просто сидя в том же Postman и посылая запросы — это будет победа и залог на хорошие перспективы развития. Не сделать это на старте — будет ситуация как с текущим miniShop2, тонны дополнений, где часть ломает работу магазина, из-за того, что не поспевают за обновлениями базы, и часть, где царит велосипедостроительство, так как нет API и четких интерфейсов. Как итог, с последней версией miniShop2 адекватно работают, на моей практике из всего modstore, ну компонентов 10-15, и то если их допилить.
4)По поводу опций товаров — я надеюсь, что ребята используют EAV для архитектуры, так как это самое популярное решение сейчас во всех топовых Ecommerce продуктах. Ну и да систему фильтрации хорошо бы тоже иметь из коробки, это неотъемлемая часть любого интернет-магазина, странно было бы видеть этот функционал отдельным компонентом вне коробки, хотя чего удивляться, сейчас он вообще в компоненте поиска по сайту запилен (mSearch2)
5)По поводу финансирования разработки — однозначно нужно завести всякие «бусти» для донатов, но чтобы деньги пошли, нужна мотивация, а для этого нужно что-то показывать, прогресс, демо, видосы, больше деталей, классная дока. Всё это в сумме может дать необходимую мотивацию поддерживать проект, а редкие посты в сообществе о том, что ну процесс идет, нужны деньги — так себе мотивирует) Без обид. Я сам готов поддерживать проект и финансово и идеями, так как у меня довольно много интернет-магазинов в разработке и на поддержке, правда всё меньше на MODX, но хочется верить, что ситуация исправится. Готов поддерживать при условии, что буду видеть прогресс и развитие.
Текущая версия buggregator поддерживает только локальную разработку, ну или если есть возможность поднять докер на сервере. А вот официальное приложение от Spatie позволяет добавлять и подключать сервера по SSH, но оно платное. Так что всё в руках разработчика, любые задачи решаемы)
чертовски удобно всё настраивать.