Степан Прищепенко

Степан Прищепенко

Был в сети 11 апреля 2020, 14:23
Заказы принимаю
Хорошо что получилось. На всякий один из вариантов поиска точто что передавать (любой компонент): открываем админку (manager) идем на нужную страницу, открываем консоль разработчика в браузере, делаем любые изменения (с таблицами если это ms2exf), в консоли проскакивает action.php тычем на него. Все исходящие параметры и есть то что отправляется в процессор.
Ммм слишком много неизвестных в этой задаче, все можно делать через процессоры например core/components/minishop2/processors/mgr/msextrafields/product/create.class.php В админке при сохранении через консоль разработчика можно посмотреть какие данные передаются и какой процессор вызывается.
3-й не кешируется преобразуется в чистый php — думаю быстрый, 2-й не помню вроде для сниппетов работало отключение кеша через "!", хотя не факт. 1-й как только на сформированной странице присутствует "[[" это увеличивает время парсинга в несколько раз и не важно плейсхолдер это, сниппет или кусок js кода. Так что я за 3-й.
Доп поля у таблицы msProductData: msextrafields, msextrafields_index, custom_measure.

1. Бывает. Тут разбираться надо, в чем выражается и тд.
2. Что значит собрать? установить modx с нуля и натянуть все на него с исходного сайта — делается как обычно через установку пакетов. Пакеты берутся со старого сайта.
3. Переносите таблицы, точные названия можно подглядеть в файле схемы компонента:
core/components/minishop2/plugins/msextrafields/model/schema/msextrafields.mysql.schema.xml
и накатываете его сверху копируя пакет. Но в таком случае нужно будет действительно сопоставить их с идентификаторами ресурсов. Можно написать миграцию, которая присвоит правильные идентификаторы на чем то основываясь, но это долго.

Если на сайте бардак в кодеи БД и хочется все сделать заново, а ресурсов много, я бы перенес БД на новую установку modx и выпилил из нее руками все что не нужно, включая все пакеты, затем исправил шаблоны на нужные, либо создал новые и прописал их у требуемых ресурсов. Дальше частями оживлял сайт как обычно и подключал требуемые компоненты. Периодически поглядывая в лог не появляется ли там чего интересного с каждым компонентом.
Из коробки такой возможности нет и не писалось ничего для других компонентов обеспечивающих такой функционал. К основной таблицу товаров добавляется одно поле для хранения общего массива свойств (нужно для ускорения работы и поиска через msearch) все остальные данные хранятся в отдельных таблицах компонента.
выкачивайте сайт целиком, тот который я указал. PHP там не будет. А вот стили и скрипты могут быть разные на разных страницах с этим придется повозиться. И после того как выдерните рекомендую удалить всякие трекеры (метрики), чтобы владелец не знал кто его использует.
Давно не использовал коллекции, а он вроде и устарел морально уже давно. Но вроде эти. Там его настраивать надо может поэтому ссылки сбились, но не должны были, может плагин какой висит который перехватывает заход и чет там меняет. Можешь посмотреть в БД напрямую есть ли записи в url.
Алексей правильно говорит, зависает именно браузер, хостинг «почти» не причем. В dom попадает куча объектов, которые обрабатываются через extjs. Т.е. прячем в дереве (show_in_tree), ставим тикет например (и прописываем соответствующие классы у родителя TicketsSection у ресурсов Ticket), такой же фокус можно проделать и с Collections и minishop2 (msProduct и msCategory) — в данном случае предпочтительнее.