Страница 1 из 2

Вышла новая версия ОkayCMS 3.4.0

Добавлено: 22.01.2020, 14:23
OkayCMS
1. Переделана выборка товаров в превью для ускорения системы

Методы

Код: Выделить всё

Okay\Helpers\BlogHelper::getPostsList()
Okay\Helpers\BrandsHelper::getBrandsList()
Okay\Helpers\ProductsHelper::getProductList()

Объявлены как deprecated, их пока можно использовать, но вместо них лучше использовать методы:

Код: Выделить всё

Okay\Helpers\BlogHelper::getList()
Okay\Helpers\BrandsHelper::getList()
Okay\Helpers\ProductsHelper::getList()


которые описаны в интерфейсе Okay\Helpers\GetListInterface

Метод getList() принимает третий параметр, со списком колонок, которые нужно исключить из выборки, либо применяется стандартный набор исключающих колонок. Ускорить систему это может если у товаров большое описание, которое в списке товаров всё равно не нужно.

2. Добавлен блок настройки URL для общих разделов. Так как раньше возникала проблема, когда URL брендов переименоваывали например в authors, а общая страница всех брендов открывалась по сслыке /brands. Теперь это также можно настроить.

3. Добавлена возможно настраивать нужен ли / в конце определенных сущностей. Сделано это в связи с тем, что довольно часто при переезде с других CMS на OkayCMS хочется сохранить URL, а там страницы брендов могут заканчиваться на /, а страницы товаров - нет. Теперь это также можно настроить в блоке "Настройки ЧПУ".

Изображение

4. При добавлении гет-параметров в URL категории на странице добавляется атрибут cannonical на страницу категории, который позволяет понять поисковым системам, что индексировать нужно основную страницу категории и защищает от дублей.

5. Добавлено более детальное, удобное, интерактивное обучение по основному функционалу админ. панели.

Изображение

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

7. Переделана микроразметка хлебных крошек по новым требования от Google.

8. Сделана возможность сортировать товары в админ панели по наличию фото, названию, цене, количеству на складе или активности.

https://okay-cms.com/files/uploads/123s_1.png

9. Исравлено определение неправильного уровня вложенности категории в БД из-за чего при переходе в подкатегорию не показывались корректно соседние категории.

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

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

Добавлено: 22.01.2020, 15:16
tgc.co.ua
После обновления исчезли все способы доставки

upd - в базе есть, в админке и корзине не отображаются

Добавлено: 22.01.2020, 17:08
zyxer
Базу обновили? Что в логах пишет?

Добавлено: 22.01.2020, 17:37
Synteco
В описании которое подтягивается из SEO не подставляются названия переменных
bug.png

Добавлено: 22.01.2020, 19:44
genser
9. Исравлено определение неправильного уровня вложенности категории в БД из-за чего при переходе в подкатегорию не показывались корректно соседние категории.
ничего не исправлено, как работало криво так и осталось, compiled и прочие кеш/куки чистил, болт...

Добавлено: 22.01.2020, 19:59
zyxer
Пересохраните категории

Добавлено: 22.01.2020, 20:36
genser
Пересохраните категории
так конечно помогает, но если их несколько штук, а когда у меня их несколько сотен...
есть может решение как это сделать автоматом через запрос в базе например

Добавлено: 23.01.2020, 08:02
zyxer
tgc.co.ua писал(а):После обновления исчезли все способы доставки

upd - в базе есть, в админке и корзине не отображаются
запрос

Код: Выделить всё

ALTER TABLE `ok_deliveries` ADD COLUMN `hide_front_delivery_price` TINYINT(1);
который в файле 1DB_changes/update_3.4.0.sql лежит вы выполняли? Вообще нужно выполнить все запросы из этого файла

Добавлено: 23.01.2020, 09:49
evgkiev
Когда в админке в товарах выбираешь корневую категорию, то далее нельзя отсортировать по брендам, их просто нет, а в подкатегории можно отсортировать по брендам. Только обратил внимание, возможно и раньше так было.

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

Добавлено: 23.01.2020, 11:36
OkayCMS
evgkiev писал(а):Когда в админке в товарах выбираешь корневую категорию, то далее нельзя отсортировать по брендам, их просто нет, а в подкатегории можно отсортировать по брендам. Только обратил внимание, возможно и раньше так было.

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

По первому пункту - не совсем вас понял.
По второму - пробовали, визуально слишком много информации. Захламляет взор.

Добавлено: 23.01.2020, 12:34
evgkiev
OkayCMS писал(а):По первому пункту - не совсем вас понял.

Например выбираем корневую категорию Техника для дома, хочу все товары в этой категории отсортировать по брендам, но их нет в списке https://prnt.sc/qrr64z
Выбираю подкатегорию Радиаторы отопления и тогда можно сделать сортировку по брендам https://prnt.sc/qrr6e4 но почему нельзя отсортировать в корневой категории также?

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

OkayCMS писал(а):По второму - пробовали, визуально слишком много информации. Захламляет взор.

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

OkayCMS писал(а):8. Сделана возможность сортировать товары в админ панели по наличию фото, названию, цене, количеству на складе или активности.

За это отдельное спасибо!

Добавлено: 24.01.2020, 09:10
tgc.co.ua
zyxer писал(а):
tgc.co.ua писал(а):После обновления исчезли все способы доставки

upd - в базе есть, в админке и корзине не отображаются
запрос

Код: Выделить всё

ALTER TABLE `ok_deliveries` ADD COLUMN `hide_front_delivery_price` TINYINT(1);
который в файле 1DB_changes/update_3.4.0.sql лежит вы выполняли? Вообще нужно выполнить все запросы из этого файла

выполнял, изменение на которые вы ссылаетесь я сделал запросом через phpmyadmin

какой лог смотреть? и на какой параметр обращать внимание?
Повторюсь
способы доставки есть в БД с новым столбиком
но ни в админке ни в корзине их нет
в админке сообщение "Нет способов доставки"

Добавлено: 24.01.2020, 09:13
korshunov
OkayCMS писал(а):1. Переделана выборка товаров в превью для ускорения системы

С одной стороны, выглядит хорошо - если для ускорения, то, конечно, полезно.
А если присмотреться к деталям, но и не слишком.
1.1. Убрали стандартно поле description и еще 3 поля с метами из выборки - безусловно, полезно.
1.2. А смотрели ли, сколько бесполезных полей еще осталось? По-моему, около десятка полей типа not_to__okaycms__yandex_xml. Конечно, эти поля не столь объемные, но все же нерациональность в итоге немалая.
1.3. Можно, конечно, эти поля включить в список исключаемых при выборке - но уж очень некрасиво получается - сначала все поля добавили, потом половину исключать.
1.4. Похожий вопрос, который поставлен полтора года назад, разработчиками совершенно игнорируется:
viewtopic.php?p=4584#p4584 А его решение, скорее всего, дало бы куда больший эффект по быстродействию...
1.5 А вообще вопрос со списком полей в выборке надо бы решать системно, а не отдельными кусками, как сейчас.

Добавлено: 24.01.2020, 09:30
zyxer
Чего пошли по пути исключения ненужного, вместо того, чтобы прописать что нужно? Я верно понял вопрос?
Потому как если мы пропишем что именно нужно, тогда каждому модулю, который захочет добавить своё поле в список товаров, нужно будет делать дополнительные танцы, чтобы его добавить. При этом, исключать поля типа tinyint даёт аж 0% профита. Поэтому и решили не исключать их.

Добавлено: 24.01.2020, 13:05
korshunov
zyxer писал(а):Чего пошли по пути исключения ненужного, вместо того, чтобы прописать что нужно? Я верно понял вопрос?
Потому как если мы пропишем что именно нужно, тогда каждому модулю, который захочет добавить своё поле в список товаров, нужно будет делать дополнительные танцы, чтобы его добавить.

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

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

zyxer писал(а):При этом, исключать поля типа tinyint даёт аж 0% профита. Поэтому и решили не исключать их.

Сомневаюсь, что Вы это проверяли детально и конкретно...

Добавлено: 24.01.2020, 14:08
zyxer
korshunov писал(а):Сомневаюсь, что Вы это проверяли детально и конкретно...
исключать можно конктетно для Entity https://github.com/OkayCMS/Okay3/blob/master/docs ... ичение-выбираемых-данных-из-бд
Здесь же переделали метод хелпера, он по сути является надстройкой над некоторыми Entities, т.е. данный метод можно (и нужно) использовать
на фронте везде, где нужен список товаров с их вариантами и изображениями. Этот метод какраз и достает товары, клеит им варианты
и изображения. Но этот метод мы посчитали что он должен доставать всё, за исключением ... т.к. если доставать только то, что указали
(сделать обратную логику), получится что если разработчик делает модуль, который добавляет колонку к товару, ему нужно сделать ещё
что-то, чтобы эта колонта появилась также в методе getList, помоему излишне.

Более того, исключения именно этих колонок (которые исключили), решит большинство проблем производительности, которые связанны
именно с выборкой излишних данных. Исключать колонки типа int, tinyint нет смысла, т.к. там максимальный объем данных (до которого
пользователи приктически никогда не доходят) очень мал (для tinyint это 1байт максимум, для int 4 байта максимум). для поля external_id МАКСИМУМ может быть 144 байта (но реально никогда столько данных не видел).
Итого, я вижу, для таблицы ok_products (ProductsEntity) можно дополнительно исключить из выборки колонки:

(объем данных я указываю не максимум для этой колонки в MySQL, а максимум для OkayCMS)

visible
featured
to_rozetka
not_to_rozetka
to__okaycms__yandex_xml_vendor_model
not_to__okaycms__yandex_xml_vendor_model
to__okaycms__yandex_xml
not_to__okaycms__yandex_xml
to__okaycms__google_merchant
not_to__okaycms__google_merchant

это 10 байт

position
votes

это 8 байт

last_modify
created

это 8 байт

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

Итого, можно исключить много колонок, и сэкономить аж до 26 байта на каждом товаре, это определённо не даёт профита.

Вы правда считаете что экономия 26 байт на каждом кортеже данных, который мы считаем с диска даст реальный профит?

Добавлено: 25.01.2020, 06:37
korshunov
zyxer писал(а):Вы правда считаете что экономия 26 байт на каждом кортеже данных, который мы считаем с диска даст реальный профит?

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

Реклама окай в заказе уведомления клиенту

Добавлено: 25.01.2020, 09:12
Sergey
Когда оформляем заказ, клиенту на почту приходит уведомление о заказе.
Все бы ничего, но когда я жму заказ принят или выполнен и ставлю галочку уведомить клиента, то клиенту приходит уведомление с таким рекламным блоком внизу:
"Подробней о работе с админ-панелью читайте на сайте
okay-cms.com"

Разработчики, это баг? Это нормально? Ребята, не гоните, это уже перебор, ладно бы лайт версия, но в ПРО реклама - это уже черезчур!
Зачем это видеть клиенту, обьясните?

Добавлено: 26.01.2020, 17:35
seo-deluxe.ru
Sergey, Это правится в 2 клика.
Откройте файл лежащий в папке backend\design\html\email\ файл email_footer.tpl

Там меняйте как вам угодно, можете полностью все удалить, можете сделать по своему.
Если вам нужно поменять Подробней о работе с админ-панелью читайте на сайте то откройте файл находящийся в папке backend\lang\ выберите свой языковой файл у меня он ru.php и впишите что вам угодно, ну а ссылку меняйте в файле email_footer.tpl.

Добавлено: 27.01.2020, 07:29
Sergey
seo-deluxe.ru, благодарю Вас!
Поправил. Все-равно мне не понятно, зачем это делать? У нас разработчик чучуть неумный в этом плане, находились бы мы на территории США, за такое можно бы и в суд подать. Это уже считалось бы как не санкционированная реклама. Теперь думаю, сколько еще таких подводных камней может быть?