Вышла новая версия Okay CMS 3.6.0

Категории

Сперва расскажем, какие фичи (улучшения) вошли в новую версию.

Полностью переделан функционал выгрузок в XML. Теперь используются небуферизированные запросы. Это позволяет нормально обрабатывать выгрузки с большим количеством товаров в них.

По простому, выгрузки станут работать быстрее и лучше.

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

По простому, теперь все ситуации когда нужно построить ссылку с учётом категории будут отрабатывать быстрее

Сделали передачу параметра group_id в YML выгрузки. Это позволит более корректно выгружать товары определенных категорий в ЯндексМаркет. Более подробно можно почитать по ссылке

Если раньше товары одной модели но разных цветов или размеров (с разными вариантами) выгружались как полностью разные товары, то теперь идет указание, что они все относятся к одной модели и ЯндексМаркет (и прочие агрегаторы) смогут объеденить их в одну карточку товара с разными вариантами.

Дополнительные языки для системы вынесены в отдельную ветку на GitHub. На данный момент там доступны грузинский и французкий языки. За французкий язык отдельное спасибо Юрию Бондаренко. В админ. панели, на странице языков сайта добавили ссылку на GitHub с дополнительными языковыми версиями.

Зачем мы это сделали? Теперь, во-первых, если кто-то найдет опечатку в дополнительном языке, он сможет исправить это просто прислав нам пулреквест и мы сможем опубликовать это сразу, а не откладывать до выхода новой версии. Также в версии по умолчанию не будет языков, которые нам проблемно поддерживать и держать постоянно в актуальном состоянии.

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

Иногда разработчики модулей или шаблонов не добавляют переводы на все языки. Если раньше в таких случаях не выводилось ничего и можно было встретить кнопку без текста, то теперь будет выводиться перевод с основного языка. Мы считаем, что если, например, по какой-то случайности не задан перевод для кнопки "Купить", то пусть лучше на украинской версии выведется русское слово чем не будет ничего.

Покрыли шортблоками печать заказа

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

Сделали возможность поиска в определенном статусе. Чтобы можно было сделать фильтр по принятым, а затем сделать поиск и он произошел именно в принятых заказах.

Также улучшили отображение плашки с фильтром после фильтрации в списке товаров в админ. панели. Раньше после того как выбрал статус, всё равно отображалось "Все статусы"

Переделали модуль Новая Почта

Теперь список актуальных пунктов выдачи не запрашивается каждый раз по API Новой Почты, а скачивается один раз на сайт и берется из него. Это позволило ускорить работы этого модуля. Сделали два способа обновления этих данных, по кнопке в модуле и автоматически, по крону.

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

Сделали так, чтобы если в файле перевода нет перевода для конкретной фразы, то берется фраза из основного языка.

Добавили возможность при создании модуля вклиниваться в отображение товара в заказе.

Интегрирована библиотека https://github.com/giggsey/libphonenumber-for-php для работы с телефоном (спасибо makki). В настройках сайта появилась возможность выбрать регион по умолчанию для форматирования номера телефона и формат телефона по умолчанию.

Телефон страны можно вводить теперь без кода или с полным кодом страны.

Для ввода телефона других стран его нужно вводить в международном формате. Телефон в базе хранится в чистом виде, без скобок, дефисов и прочего. Это очень полезно, когда телефон нужно в дальнейшем использовать для отправки смс и прочего. На выводе, для клиентов телефон выглядит в соответствии с настройками "Формат телефона по умолчанию"

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

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

Решение: Сделали так чтобы переводы из админки сохранялись в определенный .local файл, и брались оттуда - если есть. Этот файл не будет вестись по гиту и тогда клиент сможет редактировать переводы из админки. Сделано это в модуле ведения проектов на GIT

Сделали информационный блок со статистикой на странице заказов. В данном блоке видна статистика по количеству заказов в каждом статусе. При фильтрации заказов за определенный период - статистика пересчитывается и отображается для указанного периода.

Сделали кнопку сортировки свойств по алфавиту.

 

 

Раньше свойства выводились в том порядке, как их добавили. Это создавало неудобства, особенно когда свойства должны были быть по возрастанию, например вес или размер. Да, их можно было выставить вручную в нужном порядке, но на большом количестве свойств это было неудобно. Кроме того, даже выставив всё вручную, а затем добавив новое значение, нужно было его добавить в нужное место вручную. Теперь можно нажать кнопку и все значения этого свойства в админке и на клиентской части отсортируются по алфавиту.

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

Переделали отображение предупреждений, уведомлений и подсказов в админ. панели.

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

Переделали отображение комментария администратора к заказу. Теперь в списке заказов этот комментарий отображается сразу

Ранее мы сделали отслеживание источников заказа. В этой версии мы доработали возможность переходить из админ. панели по ссылке-источнику заказа. Теперь появилась возможность быстро перейти на сайт откуда пришел клиент и посмотреть, что это за сайт.

Исправлена передача скидок с заказа в 1С

Переделана работа поиска. Теперь, если найдет один товар, то перекидывает сразу в товар, а не на страницу со списком товаров.

В настройках каталога добавлена галочка "Скрывать одиночные фильтры" определяющая, будут ли отображаться фильтры, если есть только один вариант фильтрации по этому свойству.

А также несколько сугубо технических фич для программистов

При создании миграции таблицы из модуля, теперь можно создавать составные индекс. Также теперь можно создавать поля с типом данных mediumtext и longtext

Добавлена регистрация смарти плагинов из модулей для админ-панели.

Изменен вывод ошибок в корзине, перерь все ошибки выводятся через elseif (т.е. выведется только одна) и последним вариантов выводится переменная в значение которой можно передать текст ошибки из модуля.

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

В scripts.tpl добавлен шортблок front_scripts_after_validate, с помощью него можно модифицировать js правила валидации

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

В миграции модулей добавлена проверка, что если поле отмечено как Primary Key то оно не может быть null

А теперь список фиксов прошлой версии

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

Исправлено предупреждение (notice) которое иногда отображалось при загрузке фотографий через файловый менеджер


Исправили ошибку рейтинга в микроразметке основного шаблона, когда значение передавалось не просто числом, а в скобках.

Доработали модуль WayForPay который некорректно себя вел, когда в заказе было больше одного товара. Теперь оплата через этот модуль будет проходить корректно.

Исправили слетающую тему под админом при смене разрешения в браузере

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

Исправили то, что в методе ProductsHelper::attachFeatures() доставались вообще все свойства

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

Исправили работу массового выключения способов оплаты.

Раньше, если галочками отметить все способы оплаты и попробовать их выключить - это не срабатывало. Теперь работает корректно.

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

Пример как было раньше https://monosnap.com/direct/oMCVYJoLItGf8PodtywVuqEOGxUbWi

Исправлены различные, не совсем корректные названия полей в админ. панели. Например в заказе поле с Именем клиента называлось "Название".

Исправили возможно редактирования HTML шаблонов писем из админ панели, с раздела Дизайн - Файлы шаблона. Раньше редактирование писем из админ. панели было запрещено

Исправили баг, при котором, если не кликнуть по способе оплаты, а остаться на первом предложенном - после оформления заказа требовалось подтвердить способ оплаты ещё раз.

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

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

После смены варианта товара в заказе - не подтягивались единицы измерения товара. Отображалось так как на скрине ниже. Исправили это.

Исправили баг с возвращением на склад товара при удалении заказа.

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

Исправили баг с работой выпадающего списка "Каталог товаров" на планшете. При клике по этой кнопке - ничего не происходило. Теперь работает.

Исправили взаимоисключение фильтра по новинкам и рекомендуемым.

Раньше, если уже в категории отфильтровал по какой-то характеристике, то фильтр по новинкам или рекомендуемым не срабатывал.

Исправили баг, когда на странице оформленного заказа некорректно отображалсь общая стоимость товара.

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

Исправили работу Настрофки ЧПУ для товаров при определенных условиях

Проблема была в том что если выставить определенную комбинацию построения ссылок для товаров, то при переходе в товар выдавалась ошибка 404

В админ. панели, на странице со списком свойств при нажатии на кнопку "Показать все" отображались свойства только с первой страницы пагинации. Поправили это.

Провели рефакторинг кода на предмет потенциальный уязвимостей для XSS атак и исправили их.

Исправили ошибку в микроразметке рейтинга в товаре

Исправили ошибку в отображении других заказов клиента в заказе, во вкладке "Другие заказы". В прошлой версии некорректно работала пагинация, если заказов было много

Сделали корректный порядок вывода свойств в клиентской части. В прошлой версии порядок свойств в админ. панели и порядок свойств в клиентской части иногда мог отличаться.

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

 

Скачать новую версию можно по ссылке  архив с изменениями по сравнению с 3.5.2 по ссылке    Также вы можете написать через раздел "Техподдержка" для заказа обновления.

Комментарии 2
Евгений Владимирович
22.05.2020, 00:38
Когда вы научитесь обновляться так чтобы ничего другое, что было уже сделано непосильным трудом не ломалось? Сколько можно восстанавливать все с нуля после ваших обновлений?
Администратор
22.05.2020, 09:55
Евгений Владимирович , а что у вас сломалось?
Андрей Л.
14.05.2020, 21:39
Проделали очень много работы) Молодцы)
Написать комментарий
Войдите в личный кабинет
Скачать OkayCMS
version 4.5.0
Подписаться на рассылку
Вы будете получать подборку полезных статей по работе с сайтом на OkayCMS, скидки на модули и шаблоны