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

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

С нами с 06 июня 2015; Место в рейтинге пользователей: #5
Николай Савин
30 января 2022, 09:45
+1
Куда вернуть ошибку? Клиенту вывести на экран в момент добавления товара в корзину? Тогда товар нужно удалять не из заказа, а из корзины.
Или же удалить из уже созданного заказа? Тогда совсем не понятно куда вернуть ошибку.
Это разные сущности, и реализация разная будет.
Николай Савин
30 января 2022, 09:42
+1
Изучать исходный код компонентов. Читать схожие вопросы и инструкции здесь на форуме.
Николай Савин
29 января 2022, 18:47
0
это полноценный маркетплейс дополнений для CMS (тут просится MODX, но на самом деле не обязательно), со всеми сопутствующими сервисами вокруг него: управление пакетами, управлением ключами и лицензиями, техническая поддержка, арбитраж спорных вопросов, биллинг и многое другое, что обычно бывает скрыто под капотом
Николай Савин
27 января 2022, 19:37
0
В MODX3 уже есть. По плану обещают релиз стабильной версии через два дня.
Николай Савин
27 января 2022, 19:36
0
Добрый день. Да доработку можно заказать, напишите в телеграм мне. Обсудим.
Здесь главная забота — отсутствие площадки для тестов. Нужен клиент для подключения.
Николай Савин
25 января 2022, 19:16
0
А чем принципиально отличается разработка админки под slim от разработки простой админки под MODX?
Николай Савин
25 января 2022, 18:06
0
Лучше собрать чужой опыт в одном удобном руководстве, чем не размещать свое вообще нигде.
Мы все учимся на чужом. Я до сих пор подсматриваю какие то технические решения в чужом коде. И использую удачные решения. Плюсь правда все чаще с каждым годом, но это уже другая история.
Николай Савин
25 января 2022, 11:37
+1
Я бы зашел со стороны токена.
При авторизации юзера куку сохраняю как токен в базе. При выходе — затираю.
Соотвественно если нода имеет доступ к этой куке — достаточно простым запросом проверить есть ли юзер с таким токеном. Если есть — он залогинен. Если нет — значит не залогинен и куку можно зачистить.
Николай Савин
25 января 2022, 10:47
0
Докер под виндой никогда нормально не работал. Это нормально такая скорость. Он просто не предназначен для винды.
Николай Савин
25 января 2022, 10:27
0
Под виндой небось работаете?
Николай Савин
24 января 2022, 20:52
0
Олег вы комментируете сообщение 5-летней давности. Шанс что вам ответят — невелик.
Николай Савин
20 января 2022, 13:44
0
Речь идет только о фронте. В админке пока ничего не меняется, ждет своей очереди.
В части ORM тоже. Хотя есть конечно фантазии переключиться на Eloquent
На VESP только один Василий пишет. Из нашей команды — никто не пользуется этим.
Николай Савин
20 января 2022, 12:22
0
В этом году весь JS будет полностью переписан на современный стиль. Без jQuery зависимости, возможно в модульном решении, при котором нужные модули подключаются по мере необходимости. Выбросим галерею, которой все равно никто не пользуется. Появится JS API. Будут, думаю, нативные события, а не колбэки. Ну и так далее. Не вижу смысла переписывать или как то модифицировать то, что есть сейчас. Там все целиком пора выбрасывать.
Николай Савин
20 января 2022, 00:18
0
Вы без проблем можете использовать свою логику внутри собственного доработанного файл скриптов. Он подключается через соответствующую системную настройку.
Николай Савин
19 января 2022, 13:27
+4
Набросал небольшой рефакторинг этого кода
Упростил код плагина, перенес содержимое в компонент
github.com/biz87/iiko

Код по-прежнему хромает, но первый шаг к оптимизации сделан.
Николай Савин
19 января 2022, 10:49
0
Жень, нельзя делать плагины с таким количеством кода и тем более с функциями.
Нужно переносить в классы. Бить на методы. Это прям антипаттерн. Нужен серьезный рефакторинг.
Николай Савин
16 января 2022, 16:10
-1
Это не мой код, это Ваш код.
Я лишь подсказал как его на феном переписать. Мелкие нюансы
Николай Савин
16 января 2022, 15:21
+1
Вы здесь наткнулись сразу на две проблемы

В этой строке не нужны фигурные скобки, запускающие феном, так как вы и так внутри феном конструкции
'where' => ['news-type:LIKE' => '%{$.get.news-type}%'],

Но если убрать фигурные скобки — то тоже ничего хорошего не получится
'where' => ['news-type:LIKE' => '%$.get.news-type%'],

Здесь уже другая проблема — нельзя писать феном конструкции внутри кавычек.
Здесь нужно соединить строки с % и get конструкцию через конкатенацию
Вот так
'where' => ['news-type:LIKE' => '%' ~ $.get.news-type ~ '%'],
И тут еще третья проблема, связанная с правилами именования переменных. Проблема с дефисом. В PHP нельзя использовать дефис в именах переменных. А вот в массиве ($.get это ведь массив) можно.
Пожалуй вот такая конструкция должна отработать корректно

'where' => ['news-type:LIKE' => '%' ~ $.get['news-type'] ~ '%'],
Николай Савин
16 января 2022, 15:01
0
Проблема не в fenom.
Если уж начали переводить вызов сниппета на другой синтаксис — то очень желательно делать это полностью.
Избавляйтесь от JSON строк внутри, от вложенных MODX тэгов
Примерно вот так должна выглядеть ваша конструкция
{'!pdoPage' | snippet : [
   'parents' => $_modx->resource.id,
   'showHidden' => 1,
   'limit' => 8,
   'depth' => 1,
   'level' => 1,
   'showLog' => 1,
   'ajaxMode' => 'default',
   'sortby' => ['parent' => 'ASC', 'menuindex' => 'ASC'],
   'includeTVs' => 'img,news-type',
   'templates' => '7',
   'where' => ['news-type:LIKE' => '%industry%'],
   'tpl' => 'newsTpl',
]}
Я не проверял — но это корректная запись — это как минимум первый шаг к нормальной работе кода.

Вот такая конструкция пишется вот так
[[!#GET.news-type]]
{$.get.news-type}
И это выстрел себе в ногу — нельзя использовать нефильтрованные параметры в SQL запросах. Это прямая дорога к SQL инъекциям.