Готовые решения
Быстрый расчет доставки посылок почтой РФ
Сайт доставки еды

Приветствую всех!
Меня зовут Андрей и я представляю наш проект — магазин шаблонов и готовых сайтов ULTRON.
Сегодня мы добавили на сайт новый сборку — сайт-шаблон для службы доставки еды.
Сайт выполнен в светлых тонах, что придаёт ему универсальность и гибкость, как мне кажется. Его можно применять под абсолютно разные кухни и блюда.
Вёрстка адаптивная, используется фреймворк bootstrap3.
Функционал сайта разрабатывался с учетом особенностей тематики доставки и заказа еды онлайн.

Из ключевых особенностей можно выделить следующее:
- функционал магазина работает на расширении minishop2;
- товары магазина разбиваются на категории и подкатегории, категорий может быть неограниченное количество;
- при большом количестве категорий верхнее меню в настройках сайта можно переключить на другой вид, при котором пункты меню изначально будут скрыты и будет видна только кнопка «меню», при наведении на которую будет появляться блок с пунктами категорий блюд (выпадающее меню);
miniShop2 удаляет апостроф, украинские и белорусские буквы
В форме заказа в поле Получатель (receiver) не проходят валидацию такие буквы, как: "ґ", "є", "і", "ї", "ў", а также знак апострофа.
Сейчас в этом поле нельзя написать: O'Brian, Дієго Веласкес,…
Учитывая, что на сегодняшний день, относительно этого вопроса, информации крайне мало, а в мануалах этот вопрос затронут достаточно обобщенно, постараюсь подробно описать решение этой проблемы.
Сейчас в этом поле нельзя написать: O'Brian, Дієго Веласкес,…
Учитывая, что на сегодняшний день, относительно этого вопроса, информации крайне мало, а в мануалах этот вопрос затронут достаточно обобщенно, постараюсь подробно описать решение этой проблемы.
Подгрузка галереи и нужных полей товара в простой ресурс
Добрый день!
Сегодня небольшая заметка о том как можно сделать подгрузку в простой ресурс галереи и каких нибудь полей товаров.
Сегодня небольшая заметка о том как можно сделать подгрузку в простой ресурс галереи и каких нибудь полей товаров.
[ms2DeliveryCost] - получение стоимости доставки для каждого пункта доставки

И так задача:
Получать цену доставки каждого пункта доставки до его выбора не зависимо от того, какой handler стоит у пункта доставки и какие службы доставки установлены вообще. Забегая немного вперед у каждого объекта msDelivery есть метод getCost, на нем и основан компонент, речь о котором пойдет дальше.
Проблемы:
1) В большинстве своем службы доставки взаимодействуют с API других сервисов и не все из них быстрые, другая проблема это то, что служб доставки может быть не один десяток, я думаю вы понимаете что расчет десятка разных служб доставки дело не быстрое и заставлять пользователя ждать по 1-10 секунд чтобы загрузить страницу оформления заказа дело не благодарное.
2) Стоимость доставки может зависеть от множества полей пользователя, хорошо бы чтобы цена всех пунктов изменялась динамически
Решение:
Условно бесплатный компонент ms2DeliveryCost!
Обновление кэша записей (cache_db) при расширении собственного класса
Была у меня задача (может, кому-то поможет по признакам схожести): расширить стандартный класс xPDOSimpleObject шаблоном, который потом нужно расширить другими классами. Естественно, с панелью в админке в виде грида (Ext JS Grid). Так вот столкнулся с тем, что когда активен кэш БД (cache_bd), при создании или удалении дочерних классов (в которых не прописаны таблицы БД — object class=«myChildClass» extends=«myClass») от моего шаблонно-родительского (в котором указана таблица БД — object class=«myClass» table=«my_records» extends=«xPDOSimpleObject»), ничего в таблице не меняется, пока не скинуть системный кэш. Ковыряя несколько дней тему кэширования пришел, на мой взгляд, к весьма простому способу это дело поправить.
Автоматическая смена источника ms2gallery в зависимости от шаблона
Когда у вас есть зависимость между источником файлов ms2gallery и шаблоном страницы, а желания переключать его вручную — нет.
Два COUNT в запросе
Понадобилось получить два COUNT с разными условиями в одном запросе если кому то понадобиться то это достаточно просто сделать
COUNT(case when modResource.parent = 2 then 1 else null end) as getCountArticle,
COUNT(case when modResource.parent = 38 then 1 else null end) as getCountProgect',
Фильтрация по MIGX таблице средствами mFilter2
Делаю проект, где нужно хитро задавать цвет у товаров, решение Володи msOptionsColorв рамках проекта показалось громоздким и немного не подходящим по другим причинам, поэтому решено было оформить все в MIGX и написать свои методы фильтрации. Я такое делал впервые.
Получилось следующее:
Получилось следующее:
Простая организация глобального модуля расчёта стоимости доставки разными ТК для MS2
По просьбе одного из участников Сообщества приведу пример очень простой реализации расчёта стоимости доставки различными ТК для MS2.
Для кого: это пример расширения MS2 для начинающих разработчиков (если интересно одному, вероятно может пригодиться ещё кому-то в Сообществе).
Зачем: не всегда готовые модули отвечают требованиям заказчика и править несколько отдельных модулей под себя — та ещё морока.
Для кого: это пример расширения MS2 для начинающих разработчиков (если интересно одному, вероятно может пригодиться ещё кому-то в Сообществе).
Зачем: не всегда готовые модули отвечают требованиям заказчика и править несколько отдельных модулей под себя — та ещё морока.