Николай Савин

Николай Савин

С нами с 06 июня 2015; Место в рейтинге пользователей: #5
Николай Савин
13 октября 2023, 08:42
0
Сделай, чтобы без авторизации работало. За что только деньги платим
Николай Савин
12 октября 2023, 17:23
0
Там нет отдельного архива — он формируется автоматом в момент нажатия кнопки.
Николай Савин
12 октября 2023, 17:09
0
Спасибо за обратную связь. Расскажи откуда ты берешь zip и как понял что он не рабочий?
Николай Савин
10 октября 2023, 07:39
1
+4
Позволю себе несколько замечаний.

1. Если заказов много — такой сниппет не сможет выполнить свою работу. Лучше вешать задачу на планировщик

2. Использование getCollection. Это не лучший вариант. Этот метод загружает в ОЗУ сразу всю коллекцию объектов заказа, что не лучшим образом отражается на производительности и ресурсах. Лучше использовать итератор через метод getIterator. Такой метод загружает в память только список объектов, при переборе по очереди достает из базы информацию. Этот метод существенно быстрее работает и кушает меньше ресурсов. К слову итератор это не изобретение MODX. Это паттерн PHP. Да и не только PHP — он почти во всех языках используется.

3. Это что за странная конструкция такая?
$modx->getOption('table_prefix')."ms2_order_addresses
Зачем так? Почему? Есть же гораздо более корректный метод обращения к таблице
$modx->getTableName('msOrderAddress');
Так-то люди вполне могут переименовать таблицу, просто указав нужное имя в модельке. И приведенный метод гарантировано выдаст нужную таблицу.

4. Использовать getChunk я бы рекомендовал так:

$pdoTools = $modx->getService('pdoTools');
$pdoTools->getChunk('name', $params);
Этот вариант, в отличие от $modx->getChunk обработает конструкции и MODX и феном.

5. Не ошибка. Даже не предупреждение. Скорее глаз режет.
Использование прямых SQL конструкций.

Мы же в MODX работаем. Желательно использовать конструктор запроса. newQuery — его не просто так придумали. Помимо универсальности запроса, не привязанного к конкретной СУБД — это еще и выглядит красиво, аккуратно, профессионально. Сразу видно, что человек знает свое рабочее место.
Николай Савин
08 октября 2023, 08:26
+1
Так то во втором комментарии это уже написано.
Николай Савин
07 октября 2023, 16:23
+1
От компонентов зависит. сам MODX3 прекрасно работает на 8.1
Я сейчас делаю модуль интернет-магазина MiniShop3 на 8.1 — ничего нигде не пукает
Николай Савин
04 октября 2023, 11:49
0
или хотя бы обновиться до последней версии (2.8.6)
В связи с последними событиями… такое себе
Николай Савин
02 октября 2023, 07:46
+4
А как эти товары потом разделить обратно, если соединил по ошибке? Разрешать делать что-то, без возможности отмены, мне кажется несовсем правильным.
Ну удаление из корзины у нас тоже всегда было без confirm. И ничего страшного. На данный момент то что сделано — это в любом случае прогресс. Сообщество у нас умное, накидает идей и правок, было бы куда.
Николай Савин
01 октября 2023, 07:23
0
Вы думаете что в ядре MODX на каждую системную настройку прям свой отдельный код есть? Это немного не так устроено.
Николай Савин
01 октября 2023, 07:07
0
Тот случай когда не нужно торопиться обновлять софт, просто потому что новое — лучше.
На всякий случай уточню. Большинство русскоязычных компонентов основаны на единой зависимости — библиотеке pdoTools. Она не заявлена в поддержке PHP8. В целом работает конечно, но ее никто, включая текущего владельца не тестировал основательно. Возможны проблемы как с самой библой, так и с отдельными компонентами.
Николай Савин
29 сентября 2023, 10:24
0
Отличий хватает.
  • Другое расположение элементов ядра, например моделей, процессоров
  • Другие процессоры в принципе
  • Обязательное использование namespace при обращении к классам (и при их создании)
  • По другому работает $modx->getService. Так больше писать нельзя
  • Ряд отличий в админке.
Я не видел каких то исчерпывающих инструкций. Но понемногу тут на форуме была информация. В том числе от меня. Мне кажется если очень захотеть то можно разобраться.
Опять же есть готовый компонент-шаблон ModExtra3 — можно пошагово посмотреть как он устроен и чем отличается от modExtra
Николай Савин
28 сентября 2023, 18:22
0
Я же вам выше написал, что ms2 рассчитан на 7.4
Поддержки версий выше нет и не планируется.
Николай Савин
28 сентября 2023, 14:38
0
Давай я заберу компонент в сообщество, опубликую исходный код (если его сейчас нет). Сделаешь PR с исправлениями?
Николай Савин
28 сентября 2023, 13:25
0
Некоторые куски точно не будут работать. Местами есть существенные проблемы. Вплоть до того, что используемый функционал вырезан в версии 8.1
Подогнать конечно можно при желании, но для этого нужна квалификация.
Николай Савин
28 сентября 2023, 10:23
0
А это как то мешает работе компонента? Ну да, чуть-чуть подправить верстку нужно. И Автор этим точно заниматься не будет. Но как будто в тему поста подобные баги не совсем ложатся. ИМХО.
Николай Савин
28 сентября 2023, 10:13
0
Этот компонент вполне себе работает. Я им постоянно пользуюсь в разработке MiniShop3. Зачем и как его адаптировать?
Николай Савин
27 сентября 2023, 18:18
0
Рекомендуемая версия PHP 7.4
Николай Савин
27 сентября 2023, 18:17
0
В приведенном логе нет не единой ошибки. Про индекс полей только что-то, но это мелкая мелочь
Николай Савин
27 сентября 2023, 11:52
+1
Мне тоже не нравится. Рука всегда в 100% случае в верх тянется за журналом ошибок или настройками