Семён Кудрявцев

Семён Кудрявцев

С нами с 21 августа 2015; Место в рейтинге пользователей: #40
Семён Кудрявцев
29 апреля 2021, 10:07
0
Поставил потестить — встала на php 8.0.1 и на mysql 8 — Это уже радует)
Но в консоли куча варнингов и они там постоянно сыплются, хотя настройка записи в журнал лога стоит — 1
Семён Кудрявцев
28 апреля 2021, 14:08
+4
Мне кажется надо обсудить этот вопрос с автором компонента и при его согласии внедрить уже разработанный им функционал в коробку miniShop2, это может быть с компенсацией за потраченное время или же без, если Автор того пожелает. Также хотелось бы сделать и с компонентом msTools
Просто это вещи, которые по-моему должны быть «из коробки», и если есть возможность их внедрить быстрее за счет того, что кто-то уже этот функционал написал, нужно эту возможность как минимум рассмотреть.
Семён Кудрявцев
28 апреля 2021, 09:29
1
+4
Да он висит постоянно, как обычно делают во всяких сборках типа gulp, webpack когда работают с картинками вешают вотчеры, которые колдуют над ними.
Вот такая же фигня запущена на ноде на серваке, важно только там ноду под тем же пользователем запустить, что и весь сайт, а то проблемы с правами поползут.
Я использую для наблюдения — github.com/paulmillr/chokidar
А для генерации любых картинок с любыми настройками — github.com/GoogleChromeLabs/squoosh/tree/dev/cli
Это консольный аналог этого сервиса — squoosh.app/
Семён Кудрявцев
27 апреля 2021, 22:20
+2
В статье речь ни о image и ни о thumb, шаблонизатор и доступные плейсхолдеры тут ни при чем. Речь про обработку запросов изображений веб-сервером. Генерировать avif пока нельзя. Насколько знаю phpThumb его пока не поддерживает. Но самому сделать легко, куча сервисов и программ есть. Я их генерирую через nodejs и кладу рядом с оригиналом. То есть MODX не занимается у меня генерацией webp и avif от слова совсем. Все делает нода, формирует эти файлы всегда рядом с тем, что назагружали контент-менеджеры.
Семён Кудрявцев
22 апреля 2021, 22:03
0
Автору респект за классные идеи и очень крутые компоненты.
Есть вопрос — поизучал компонент, наткнулся на пару моментов, про которые хотелось бы спросить
1)Светится абсолютный путь на сервере, по мне это не очень «секьюрно» раскрывать файловую структуру выше корня сайта.

2)Иногда последняя вкладка формирования файла — выгрузка и параметры, падает с ошибками

То есть файл она формирует, но отредактировать его уже не получается, там просто пусто и ошибка в консоли на скрипт.
Буду благодарен если автор прокомментирует эти моменты.
Семён Кудрявцев
08 апреля 2021, 15:15
0
Поделись способом, может где пригодится
Семён Кудрявцев
08 апреля 2021, 15:04
0
Важно только, что при таком раскладе нужен доступ к объекту $modx, с pdoTools и выключенным доступом к объекту (так по умолчанию) такая фишка не прокатит. А упрощенный класс $_modx не даст нужного результата, его нужно допилить, чтобы он возвращал все поля контекста.
Семён Кудрявцев
08 апреля 2021, 14:58
0
Проверил, да так реально, работает, Сергей как всегда, спасибо!
Семён Кудрявцев
01 апреля 2021, 11:35
0
По поводу ошибок, разобрался это не Ваш компонент, их кидает hideSource, когда другие плагины статичные, просто в случае с msPromoCode2 эти ошибки кладут систему.
В итоге виновником является hideSource и то как он реагирует на статичные плагины.
Прошу прощения за беспокойство и ещё раз извиняюсь за клевету на компонент.
Семён Кудрявцев
01 апреля 2021, 11:15
0
Вы всё по поводу этой галочки? Это было для воспроизведения проблемы на modhost.
Даже если галочка не стоит, и при этом в системе есть другие статичные плагины — в консоль падают ошибки, о не возможности загрузки классов со странными префиксами «mspc2»
И это только когда в систему поставлен также hideSource
Семён Кудрявцев
01 апреля 2021, 11:11
0
А по поводу событий, я имел ввиду следующее:
hideSource срабатывает на событие OnMediaSourceGetProperties
В списке событий msPromoCode2 этого события нет, значит плагин не должен реагировать на него.
Но ошибки которые падают в консоль говорят об обратном.
Could not load class: mspc2OnMediaSourceGetProperties from mspc2onmediasourcegetproperties.
Семён Кудрявцев
01 апреля 2021, 11:05
0
Павел, я не ставил перед собой цели, как Вы говорите «обосрать Ваш труд», я столкнулся с проблемой и решил её описать в сообществе, где есть возможность, что кто-то поможет с этим разобраться, может кто-то с этим уже сталкивался. За неимением возможности написать в ТП, единственное место, где можно осветить проблему — это здесь. И целью комментария было желание привлечь внимание автора компонента, и возможно его помощи разобраться в проблеме. Но Вы же это приняли как клевету в свой адрес. Я извиняюсь за то, что задел своим комментарием Вас.
Но прошу, раз уж Вы отвечаете на комментарии, помочь разобраться в вопросе.
По поводу галочки — не понятна Ваша позиция, то что из коробки он идет с выключенной. Эта галочка, системная возможность движка и по идее кроме как «откуда брать код плагина» она не должна ни на что влиять, но влияет. И хотелось бы разобраться почему?
Семён Кудрявцев
01 апреля 2021, 10:13
0
Честно, не знаю на что Вы обиделись и какого рода извинения ожидали.
Я же указал, что проблема решалась отключением Вашего компонента. Оставалось только найти причину, её я так пока и не нашел, но мне удалось её воспроизвести на modhost.
Ставим всего 2 компонента: msPromoCode2 и hideSource
Если у плагина промокодов поставить галку «статичный» — система падает с fatal error
Без галки — всё работает норм

Но если при этом в системе будут какие-то другие плагины с этой галкой, что не редкость для тех, кто работает в IDE, то в консоли в некоторых случаях получаем ошибки вида:
Could not load class: mspc2OnMediaSourceGetProperties from mspc2onmediasourcegetproperties.
Could not load class: msYaEcommerceOnMediaSourceGetProperties from msyaecommerceonmediasourcegetproperties.
Я пока не знаю почему атрибут «статичный» так влияет на работу плагинов, но как небольшой вывод для себя:
1)У плагина компонента msPromoCode2 не должна стоять галка «статичный» при установленном hideSource
2)Если в системе стоят и msPromoCode2 и hideSource и при этом есть другие статичные плагины, могут быть проблемы. (наблюдаются ошибки в консоли, но не у всех плагинов)
3)Я не утверждаю, что проблема именно в msPromoCode2, она проявляется в связке двух компонентов.
Семён Кудрявцев
31 марта 2021, 21:50
0
По видимому такой эффект дает сочетание нескольких компонентов, попробовал на modhost проверить, такой проблемы нет, беру слова обратно. Буду искать проблему дальше
Семён Кудрявцев
31 марта 2021, 21:30
-1
Знаю, что автор предпочитает, чтобы все вопросы по компоненту писали в ТП, но на днях попался сайт у клиента, где поддержки уже нет, а проблема с компонентом есть.
Заметил, что компонент ломает работу других плагинов на некоторые события и валит админку с фатальной ошибкой, например простейший плагин для скрытия файлов у медиаисточников, с выключенным плагином mspc2System, прекрасно работает, но стоит включить валится вся админка с fatal error ​
Код плагина, для примера.
<?php
/** @var modX $modx */
switch ($modx->event->name) {
   ​case 'OnMediaSourceGetProperties':
       ​$properties = json_decode($properties, true);
       ​if (!empty($properties['hideSource']) AND !empty($properties['hideSource']['value']) AND $_REQUEST['node'] == '/') {
           ​die('{}');
       ​}
   ​break;
}
Та же история с компонентом hideSource из modStore, который по сути делает тоже, что и плагин выше, без промокодов работает норм, с включенным компонентом — падает админка.
Скорее всего это происходит из-за того, что код плагина самого компонента, вообще никак не ограничен событиями, то есть работает через все события системы насквозь и по пути что-то ломает.
Семён Кудрявцев
31 марта 2021, 18:34
0
О, спасибо, как мне не хватало этой статьи, целый день искал решение, но эта статья не попадалась почему-то.
В ней даже более элегантно сделано переопределение типа поля.
Семён Кудрявцев
04 марта 2021, 17:40
0
Есть вопрос по компоненту, в интерфейсе во вкладке связи есть возможность включить действие промокода
на определенные категории товаров и товары. Но что делать если нужно наоборот исключить категорию/товар?
Например есть промокод, который действует на весь ассортимент каталога, за исключением одного товара.
И ещё один момент — в конфиге промокода есть чекбокс — Не применять без скидки, когда он включен,
на фронте применить промокод можно, а в админке к уже существующему заказу с тем же составом товаров нет, так и должно быть? Пишет — в корзине нет товаров, соответствующих этому промо-коду.
Семён Кудрявцев
18 января 2021, 21:08
+1
Новая настройка «удалять временные файлы при синхронизации» в выключенном состоянии ломает синхронизацию только с изменениями.
Процесс начинает писать в уже существующие файлы, ну а это уже в свою очередь нагибает парсер и весь процесс ложится с ошибками.
И ещё одна небольшая хотелка, если будет время и возможность:
Сделать возможность скрытия из меню товаров, приходящих с нулевым количеством, так как снятие с публикации это сразу 404 ошибка и сеошники сразу начинают есть мозги, что товары нужно просто прятать от пользователей, но оставлять рабочими для поисковиков. Уже раз 10 попадались сайты клиентов с Вашим компонентом, везде приходилось дописывать этот функционал. Думаю это будет полезным прямо из коробки.