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

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

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

Сообщение #1 OkayCMS » 22.01.2020, 14:23

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 по ссылкеТакже вы можете написать через раздел "Техподдержка" для заказа обновления.

tgc.co.ua
tgc.co.ua
Репутация: 1
Сообщения: 28
Зарегистрирован: 12.11.2019
С нами: 4 года 4 месяца

Сообщение #2 tgc.co.ua » 22.01.2020, 15:16

После обновления исчезли все способы доставки

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

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

Сообщение #3 zyxer » 22.01.2020, 17:08

Базу обновили? Что в логах пишет?
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

Synteco
Synteco
Репутация: 0
Сообщения: 1
Зарегистрирован: 22.01.2020
С нами: 4 года 2 месяца

Сообщение #4 Synteco » 22.01.2020, 17:37

В описании которое подтягивается из SEO не подставляются названия переменных
bug.png

genser
genser
Репутация: 6
Сообщения: 27
Зарегистрирован: 04.02.2016
С нами: 8 лет 1 месяц

Сообщение #5 genser » 22.01.2020, 19:44

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

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

Сообщение #6 zyxer » 22.01.2020, 19:59

Пересохраните категории
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

genser
genser
Репутация: 6
Сообщения: 27
Зарегистрирован: 04.02.2016
С нами: 8 лет 1 месяц

Сообщение #7 genser » 22.01.2020, 20:36

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

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

Сообщение #8 zyxer » 23.01.2020, 08:02

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

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

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

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

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #9 evgkiev » 23.01.2020, 09:49

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

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

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

Сообщение #10 OkayCMS » 23.01.2020, 11:36

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

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

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

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #11 evgkiev » 23.01.2020, 12:34

OkayCMS писал(а):По первому пункту - не совсем вас понял.

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

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

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

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

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

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

tgc.co.ua
tgc.co.ua
Репутация: 1
Сообщения: 28
Зарегистрирован: 12.11.2019
С нами: 4 года 4 месяца

Сообщение #12 tgc.co.ua » 24.01.2020, 09:10

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

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

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

Сообщение #13 korshunov » 24.01.2020, 09:13

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

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

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

Сообщение #14 zyxer » 24.01.2020, 09:30

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

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

Сообщение #15 korshunov » 24.01.2020, 13:05

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

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

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

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

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

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

Сообщение #16 zyxer » 24.01.2020, 14:08

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 байт на каждом кортеже данных, который мы считаем с диска даст реальный профит?
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

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

Сообщение #17 korshunov » 25.01.2020, 06:37

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

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

Sergey
Sergey

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

Сообщение #18 Sergey » 25.01.2020, 09:12

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

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

seo-deluxe.ru
seo-deluxe.ru
Репутация: 2
Сообщения: 35
Зарегистрирован: 20.04.2019
С нами: 4 года 11 месяцев

Сообщение #19 seo-deluxe.ru » 26.01.2020, 17:35

Sergey, Это правится в 2 клика.
Откройте файл лежащий в папке backend\design\html\email\ файл email_footer.tpl

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

Sergey
Sergey

Сообщение #20 Sergey » 27.01.2020, 07:29

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


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

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


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

   

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

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

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