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

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #1 OkayCMS » 26.08.2020, 12:58

Возможность модификации tpl файлов
Самая важная и ключевая задача, которую мы реализовали в 3.8.0 - это возможность модификации tpl файлов.

Помимо встраивания в шорт-блоки в OkayCMS теперь есть функционал модификации tpl файлов без их изменения. Данный функционал работает так, что оригинальные файлы остаются неизмененными, но в compiled попадает файл в измененном состоянии, будто был изменен оригинальный tpl файл.

Файл разбирается на некое DOM дерево, но в качестве ноды может быть также Smarty элемент.

На данный момент из Smarty элементов в качестве ноды имеющей дочерние элементы поддерживаются только foreach, function и if (foreachelse и else будут просто текстовыми дочерними элементами). Все остальные Smarty элементы будут как текстовые ноды.

`Нода` - это элемент DOM (Document Object Model) дерева. Нода может содержать дочерние ноды, только если это не самозакрывающаяся (`<img>`, `<br>`, `<input>` etc) и не текстовая нода.

Все регистрации изменений шаблона производятся в блоке modifications файла module.json вашего модуля (файл должен располагаться в директории Init модуля).

Само изменение должно содержать одно из свойств find или like в котором указывается какую ноду нужно найти.

Для внесения самих изменений есть несколько свойств.

append | текст или имя файла с содержимым | добавляет содержимое в конец указанной нод
prepend | текст или имя файла с содержимым | добавляет содержимое в начало указанной ноды
appendBefore | текст или имя файла с содержимым | добавляет содержимое в родирельскую ноду но перед текущей
appendAfter | текст или имя файла с содержимым | добавляет содержимое в родирельскую ноду но после текущей
html | текст или имя файла с содержимым | заменяет содержимое выбраной ноды на указанное
text | текст или имя файла с содержимым | синоним html
replace | текст или имя файла с содержимым | позволяет изменить текст открывающей ноды (может понадобиться для добавления/изменения атрибутов etc)
remove | значение не принимается | удаляет текущую ноду со всеми её потомками.

В документации по ссылкеhttps://github.com/OkayCMS/Okay3/blob/master/docs/tpl_modifiers.md есть более подробное описание этого функционала с примерами его использования.

Мы считаем что это решение, в отличии от решения того же опенкарта, более революционное т.к. мы работаем не с текстом и строками, а с DOM объектами. Мы можем найти элемент и добавить ему дочерний элемент, можем обратиться к родительским элементам, в качестве DOM элемента может быть {foreach}, {if}, {function}. Данное решение должно вывести работу разработчиков над модулями для нашей системы на новый уровень.

Улучшение работы с изображениями. WebP и SVG, изменены многие js библиотеки
Внедрили автоматическую поддержку webp изображений. Теперь в настройка каталога можно активировать поддержку webp и к обычному изображению будет добавляться еще аналог webp.

https://okay-cms.com/files/uploads/11_5.png

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

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

Обновили, удалили или заменили многие библиотеки. Самое основное, это убрали owl-carusel и вместо неё используем более популярный swiper. Кроме того, это позволило сократить количество подключаемых JS файлов и ускорить загрузку страницы. Из минусов - теперь в карточке товара нет лупы при наведении на фото, она доступна только при клике по фото товара.

Некоторые модули в старых версиях системы могли использовать JS библиотеки, которых нет в новой версии. Если у вас есть дополнительно установленные модули, например "Видео в галерее товара" и т.п., эти модули дополнительно нужно будет адаптировать для новой версии. Адаптированные модули для новой версии в ближайшее время будут доступны по ссылке на скачивание модуля, которая приходила на почту после оформления заказа.

Создана и добавлена конфигурация для Nginx
В документации к OkayCMS https://github.com/OkayCMS/Okay3/blob/master/docs/nginx/nginx.conf добавлен пример конфигурации Nginx под OkayCMS. По умолчанию с этой конфигурацией система работать будет. Но там опущены такие моменты как работа сервера с SSL и возможно ещё какие-то индивидуальные особенности сервера. Возможно что потребуется дорабатывать конфигурацию под конкретный сервер, но ключевые правила реврайтов, скрытия лишнего и прочее в примере описаны.

Сделана возможность создавать несколько XML в модулях
Иногда клиентам требуются несколько XML с разными товарами, но в одном формате. Например для выгрузки в ТурбоСтраниц и для ЯндексМаркета используется одна и та-же выгрузка. Нашим решением этой проблемы стала возможность создания неограниченного количества выгрузок одного формата.

Изображение

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

Клиент указывает туда латиницей ссылку, например "mebel" и по ссылке http://new.demookay.com/rozetka/mebel.xml доступна эта выгрузка.При сохранении теперь в модуле показывается список существующих выгрузок со ссылками на них, а ниже кнопка "Создать выгрузку"

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

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

Сделаны различные технические улучшения системы
Сделали возможность при регистрации шортблока указать еще callback функцию, которую стоит вызвать перед отрисовкой шортблока. Это может понадобиться если для отрисовки шортблока нужно предварительно передать в дизайн какие-то данные. Ранее для этого регистрировали отдельный экстендер, теперь можно более явно и проще это сделать.
Добавили шортблоки для расширения функционала экспорта с помощью сторонних модулей.
Исправили баг стратегий роутов NoPrefixAndPathStrategy и PrefixAndPathStrategy. Проблема была в том, что если подкатегория с более длинным урлом была создана ранее, её родитель не открывался.
Сделана возможность добавлять в группы баннеров свои сущности наряду с категориями брендами и товарами. Это нужно, когда создается, например, модуль "Услуги" и в баннерах нужна возможность определять, на какой странице услуги какой баннер должен выводиться.
Для категорий в каталоге и категорий в блоке сделаны разные названия шортблоков в админ. панели, так как ранее они пересекались.
Добавлена возможность переопределять роуты.


Сделаны различные улучшения и исправления для пользователей сайта
Улучшена и расширена микроразметка сайта. Внедрена микроразметка поиска, которая должна создать возможность поиска по сайту прямо на странице выдачи в Google

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

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

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

Изображение

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

Исправили работу модуля платежной системы PayKeeper. Ранее была проблема что после приема платежа он не отмечал заказ оплаченным в админ. панели.

Добавлен функционал пагинации в админ. панели в модуле FAQ

Исправлена передача данных из поля "Доступы" в разделе "Техподдержка".

На страницах категорий добавлен мета-тег cannonical который корректно указывает на эту страницу.

Исправлено название сайта, которое указывается в OpenSearch поиске.

Сделали, чтобы при импорте товаров из 1С, если у нескольких товаров одинаковые названия, то в URL таких товаров добавлялся их порядковый номер. Ранее проблема была в том что для таких товаров создавался одинаковый URL и перейти можно было только в первый такой товар.


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

mustang75
mustang75
Репутация: 1
Сообщения: 47
Зарегистрирован: 01.08.2017
С нами: 6 лет 7 месяцев

Сообщение #2 mustang75 » 01.09.2020, 17:44

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

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #3 OkayCMS » 02.09.2020, 13:14

mustang75 писал(а):Не могу сменить лого и фавикон после обновления, меняю в Настройки дизайна сохраняю, ничего не происходит
Проверьте, возможно у вас нет прав на запись файлов в соответсвующие папки.

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #4 makki » 05.09.2020, 17:14

Наконец-то убрали отстойный эффект улетающего в корзину товара. С другой стороны теперь из коробки всплывающая корзина. Меня лично всегда раздражала в других магазинах всплывающая корзина. Слишком навязчивый сервис.

PS Кстати недавно на Розетке ее убрали из функционала
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 06.09.2020, 13:11

makki писал(а):Наконец-то убрали отстойный эффект улетающего в корзину товара. С другой стороны теперь из коробки всплывающая корзина.

По хорошему, надо бы создавать настройку типа Дополнительное действие при укладка товара в корзину с вариантами:
1. нет действия,
2. эффект улетающего товара,
3. всплывающая корзина,
4. возможно, что-то еще.

Работы совсем немного...

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #6 makki » 15.02.2021, 10:23

OkayCMS писал(а):Возможность модификации tpl файлов
Самая важная и ключевая задача, которую мы реализовали в 3.8.0 - это возможность модификации tpl файлов.

Помимо встраивания в шорт-блоки в OkayCMS теперь есть функционал модификации tpl файлов без их изменения. Данный функционал работает так, что оригинальные файлы остаются неизмененными, но в compiled попадает файл в измененном состоянии, будто был изменен оригинальный tpl файл.

Объясните как работает "Возможность модификации tpl файлов" если я хочу установить модуль на кастомный шаблон с измененным расположением блоков и с айди и классами, отличающимися от дефолтного шаблона?
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #7 zyxer » 15.02.2021, 11:26

Тогда нужно модифицировать файл module.json
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #8 виктор » 22.02.2021, 16:57

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

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #9 zyxer » 22.02.2021, 17:36

Это очень сложный вопрос, однозначно ответить сложно. Машина на HDD будет работать медленнее, на SSD быстрее. В среднем цифра в 200 МБ это не много. Но есть большая разница, это у вас 100500 свойств, каждое из которых занимает мало места, соответственно такая база будет работать медленнее, если у вас 100 товаров и в описании вы грузите картинки (не через файл менеджер), то такая база будет работать быстрее (потому как там каждая запись на пару МБ, но считывание её будет медленнее).

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

Однозначного ответа нет, но из опыта, 200МБ база это не много, бывает больше.
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #10 виктор » 22.02.2021, 19:20

zyxer писал(а):Это очень сложный вопрос, однозначно ответить сложно. Машина на HDD будет работать медленнее, на SSD быстрее. В среднем цифра в 200 МБ это не много. Но есть большая разница, это у вас 100500 свойств, каждое из которых занимает мало места, соответственно такая база будет работать медленнее, если у вас 100 товаров и в описании вы грузите картинки (не через файл менеджер), то такая база будет работать быстрее (потому как там каждая запись на пару МБ, но считывание её будет медленнее).

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

Однозначного ответа нет, но из опыта, 200МБ база это не много, бывает больше.
когда я со второй версии обновился на третью. gt metrix показывал все в зеленой зоне. товаров 5000+ свойств немного, сейчас вынужден был перейти на бизнес хостинг(украина) показатель ТВТ от 600 мс а бывает и 1,2с ? советуют многие переехать на впс, но я вижу что и сайты на 4.0 тоже ТВТ за 400мс?

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #11 korshunov » 23.02.2021, 11:57

виктор писал(а):когда я со второй версии обновился на третью. gt metrix показывал все в зеленой зоне. товаров 5000+ свойств немного, сейчас вынужден был перейти на бизнес хостинг(украина) показатель ТВТ от 600 мс а бывает и 1,2с ? советуют многие переехать на впс, но я вижу что и сайты на 4.0 тоже ТВТ за 400мс?

Если надумаете переходить на 4.0.0, советую предварительно хорошенько протестировать. По моим наблюдениям, версия 4 в некоторых моментах более медленная, чем 3. В теме
viewtopic.php?f=9&t=1828
я пытался донести до разработчиков простейшую мысль о том, что тестировать всегда полезно и чем больше, тем лучше. Но они заняли твердую позицию - они, мол, тестировали, у них все хорошо, и прочие мнения по вопросу им не интересны.
А в результате в 4.0.0 одном месте появился такой откровенно тормозной код, что можно со стула упасть...

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #12 zyxer » 23.02.2021, 12:00

Так просвятите что за место? Если вы действительно нашли тормоза, зачем же их в тайне держать? )
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #13 korshunov » 23.02.2021, 13:39

zyxer писал(а):Так просвятите что за место? Если вы действительно нашли тормоза, зачем же их в тайне держать? )

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

Я в цитированной теме писал:

korshunov писал(а):Просто НЕОБХОДИМО сначала создать инструмент (а может, и не один), для замеров времени выполнения SQL-запросов, чтобы на КАЖДОЙ странице, например, при добавлении спец параметра выводились все SQL-запросы с указанием потребленного ими времени.

Получил ответ:

zyxer писал(а):Нет НЕ НЕОБХОДИМО, зачем делать еще какие-то инструменты? Я же привел список инструментов, которые использую, можете их использовать и вы.

Метод у меня крайне простой: я получаю список SQL-запросов при формировании отдельной страницы и для начала просто просматриваю его. В текущем состоянии 4.0.0 для главной страницы нерациональности просто с ходу в глаза бросаются. Если не понятно, сообщайте, будут подробности...

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #14 zyxer » 23.02.2021, 13:56

Вы если хотите проекту помочь, буду признателен, если же нет, можно ждать когда мы сами это оптимизируем/исправим/улучшим. Новая версия будет выложена в публичный реп. и там будет далее разрабатываться. Если будет желание, можно прислать PR.

По поводу инструментов отладки, тут кому что нравиться, лично я использую такой набор, коллега может использовать другой. Там я сказал что именно нам, как разработчикам окая, нет смысла писать еще какие-то инструменты (по крайней мере пока).
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #15 виктор » 23.02.2021, 14:34

korshunov писал(а):
виктор писал(а):когда я со второй версии обновился на третью. gt metrix показывал все в зеленой зоне. товаров 5000+ свойств немного, сейчас вынужден был перейти на бизнес хостинг(украина) показатель ТВТ от 600 мс а бывает и 1,2с ? советуют многие переехать на впс, но я вижу что и сайты на 4.0 тоже ТВТ за 400мс?

Если надумаете переходить на 4.0.0, советую предварительно хорошенько протестировать. По моим наблюдениям, версия 4 в некоторых моментах более медленная, чем 3. В теме
viewtopic.php?f=9&t=1828
я пытался донести до разработчиков простейшую мысль о том, что тестировать всегда полезно и чем больше, тем лучше. Но они заняли твердую позицию - они, мол, тестировали, у них все хорошо, и прочие мнения по вопросу им не интересны.
А в результате в 4.0.0 одном месте появился такой откровенно тормозной код, что можно со стула упасть...
если честно я не спешу обновляться. меня беспокоит только скорость загрузки моего сайта. в чате телеграма развели срач с любителями опенкарта. у моих родственников сайт той же тематики на ОП, самый дешевый хостинг на украине. у меня бизнес хостинг на украине и по гтметрикс мой сайт проигрывает с оргомным разгромом. да у меня больше трафика, но что будет с моим сайтом когда трафик будет 20000 + . он же ляжет. сегодня кстати должна выйти 4,0,1 Виталий обьявил.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #16 korshunov » 24.02.2021, 09:34

zyxer писал(а):Вы если хотите проекту помочь...

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

zyxer писал(а):Там я сказал что именно нам, как разработчикам окая, нет смысла писать еще какие-то инструменты (по крайней мере пока).

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

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

На всякий случай напомню еще раз: Вам предлагалось всего лишь получить список SQL-запросов при формировании отдельной страницы и для начала просто просмотреть его. Полагаю, Вы такой список никогда не видели, там просто невозможно с ходу не увидеть как минимум одну серьезную нерациональность...


Название раздела: Обновления OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Обновления OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 15 гостей