Pavel Zarubin

Pavel Zarubin

Был в сети 23 января 2023, 15:35
Заказы не принимаю
Отправить деньги
Я про недоступность многого, что снижает интерес к MODx
Обожаю эту фразу, особенно обожаю когда ко мне приходят клиенты от таких вот разработчиков, которые сказали им «В modx этого сделать нельзя»

Открою секрет, modx написан на PHP, JS, HTML и CSS и все, что доступно в них, доступно и в modx
сделает какой-то файл с товаров в xml или json или разработает api для получения товаров. Если этого нет, то скорее всего сайт не хочет, чтобы его товары кто-то «крал».
Ох, мало вы поставщиков видели, мало :)
Хорошо если кто — то, когда — то делал поставщику каких нибудь условных столов для лабораторных целей YML для яндекс маркета, а зачастую поставщики сами напрямую говорят аля «Вы вторые кто к нам обратился с такой просьбой, первые не придумали ничего лучше, как парсить наш сайт, так может и вы будите просто парсить?»
а на основании чего ваша программа принимает решение, в какую «виртуальную» директорию положить дубль
Дубль ни в какую директорию не кладется, дубль удаляется, виртуальная директория назначается первому вхождению, на основании директории удаленного товара.

Как ваша программа определяет, какая категория для него реальная?
Никак, а это в целом играет какую то роль для посетителя?) Ему что в той покажется товар, что в той

Получается что один ковер будет утерян при парсинге? Ведь программа один из ковром посчитает дублем.
Именно, но как я уже ниже писал, в след. обновлении увидим настройку поля сравнения
Но дело не в этом, а в том, что если менеджер умеет работать с Ексель на высоком уровне, то проверка 50 000 товаров проходит за 5 минут.
Ок, может расскажите мне как в эксель удалить все дубли, а у первого вхождения присвоить
виртуальные категории удаленных дублей? А то может мы тут все фигней страдаем и вообще половину компонентов можно сделать в экселе
Ну чаще всего парсят довольно большое количество товаров предположим это 50 тысяч, что довольно среднее число в рамках парсеров, даже если на проверку будет уходить всего минута — это 50000 минут это 833 часа или 34 дня без еды и сна ну или 104 будничных дня по 8 часов, даже при минимальной зарплате менеджера в 30 тысяч это 90 тысяч только на проверку каталога, ОДНОГО парсинга. Хотел бы я посмотреть на вашего «эффективного» менеджера который согласился бы отдать 3 месяца работы и 90к вместо автоматизации
Дополнение не об этом)
Вот вам два живых кейса для которых это дополнение писалось и отлично себя показало

1) Парсим сайт, при парсинге записывать в базу через процессоры — самоубийство, по этому пишем в базу прямыми запросами, соответственно uri и alias генерируем уже по окончанию парсинга когда у нас все товары будут в базе данных. Так вот, суть проблемы в том, что на сайте, который мы парсим одни и те же товары могут быть в разных категориях, соответственно у нас это физически разные товары, с одинаковым названием. Что нужно сделать? Правильно, удалить дубли, а основному товару назначить виртуальные категории удаленных товаров, что и делает дополнение. Я уже молчу о том что у «источников» помимо того что товары также могут быть в виртуальных категориях, у них очень часто встречаются еще и физические дубли

2) Часто бывает что поставщики — раздолбаи и база данных, aka выгрузка, у них заполнена через жопу и с разными артикулами бывает по нескольку десятков штук одинаковых позиций

Вообще дополнение для тех, кто знает зачем оно нужно и сталкивался с вышеописанными проблемами)
Получается единый набор опций для всех категорий? Есть (или может планируется ) возможность их разделить по категориям?
А в случае если вы выводите опции без дополнения у вас не единый набор?) По моему что с дополнением, что без него у вас и так один и тот же набор, а вот выводить опцию или нет уже решает сам mFilter
modx.pro/development/16940
Но где то тут же я упоминал что гораздо более грамотно было бы делать это на событие сохранения ресурса, не гоже жертвовать скоростью отрисовки страницы ради служебных нужд. Возможно при одном посетителе это не заметно, но представь эти же самые операции когда одновременных посетителей 10 и более
Так это самое важное в программировании, приведу мой ежедневный кейс:
1) Начинаю работать с новой либой
2) Допустим нужно получить какое то свойство, логично предположить что метод будет называться get[что-то там]
3) Просто начинаю вводить начало и уже в подсказках вижу все методы начинающиеся с get да еще и с кратким описанием по каждому

Сколько таких ситуаций за день? Десятки. Тебе с VSC пришлось бы каждый раз в доки лазить или исходники читать.

Кто то тут писал о быстродействии, так вот VSC со всеми нужными дополнениями отжирает ресурсов не меньше чем шторм, становится медленным и не поворотливым. Если говорить о не IDE, там саблайму нет конкурентов, а не поделкам на вебките которые жрут также как хром. Для серьезной разработки все же без IDE никуда.

P.s. с VSC я знаком не по наслышке, использую его для программирования ESP плат на C++
Ох… когда то я был таким же упрямым и также говорил про sublime, в итоге в течении года, которого работал «Только в редакторе» я оказывается — мучался. Не повторяй моих ошибок, послушай умных и опытных дядек выше, никогда текстовый редактор не сравнится с IDE :)
//Сниппеты из бд в чанках и на странице
{'snippetName' | snippet: [
    ...params...
]}
//Файловые сниппеты в чанках и на странице путь относительно core/elements
{'@FILE snippetName.php' | snippet: [
    ...params...
]}
//API файловые сниппеты
$pdoTools = $modx->getService('pdoTools');
$pdoTools->runSnippet('@FILE snippetName.php', [...params..]);

//API из БД
$pdoTools = $modx->getService('pdoTools');
$pdoTools->runSnippet('snippetName', [...params..]);