Dmitry Rodionov

Dmitry Rodionov

Был в сети 02 марта 2023, 22:08
Заказы не принимаю
Мне кажется тут взломом попахивает. Для начала проверить скрипты на уязвимости, обновить до последней версии, сменить все пароли на ftp/sql/админку. Вычищать сайт от вирусов дело не благодарное, и без опыта трудно будет, возможно легче поставить новый релиз modx и перенести туда базу
Идешь в Медиа->Источники файлов и там настраиваешь как должны генерироваться миниатюры, после надо все миниатюры перегенерировать заново, найдешь код для перегенерации на этом сайте. По сути тебе надо только сжатие по одной стороне к примеру без обрезки — так и делаешь
Стоит начать с того что надо не полноразмерные изображения выводить, а миниатюры.
Во-вторых, скорее всего [[+image]] устанавливается в плейсхолдер внутри товара, а при выводе устанавливается второй раз внутри чанка доп товара, но если там ничего нет, то не устанавливается и используется первый установленный вариант.
Можно попробовать подставить восклицательный знак перед плейсхолдером, но наверняка сказать не могу поможет или нет, второй вариант и наиболее адекватный — использовать уже сгенерированные миниатюры, это решит проблему наверняка.
важно не выполнение одной команды раньше другой, а цель выполнить все команды сразу, ну или друг за другом, не всегда синхронность на стороне юзера удобна и оправдана. Это конечно тонкости реализации, но все же удобство того что сессии синхронны некоторое есть, а так при использовании в качестве хранилища БД теряется по сути функционал который необходим.
Об этом и речь, синхронизировать запросы не всегда возможно, особенно когда код раздувается и где-то бывает написано без jQuery вообще все, понятное дело что надо проектировать изначально все, но учитывая потребности и реалии заказчиков это не всегда возможно. Поэтому и интересовало можно ли получить синхронный доступ к сессиям в базе, но как оказалось это трудно и игра не стоит свеч.
Я забил, самый лучший вариант наверное перенести их из базы в файлы, по началу, если с файлами будет работать конечно стандартный обработчик сессий, это решит проблему, а так по сути надо блокировать запись в таблице и ждать ее анлока, что неудобно и практически невозможно сделать. Или реализовать свой механизм сохранения данных аналогичный сессиям, что тоже достаточно удобно для последующего использования где либо.
Смотря в каком контексте нужно такое объединение, моя цель была получить набор характеристик по каждому товару для дальнейшей обработки их, выглядит это так:
//.... Установка переменных для первого запроса и его вызов
$res1 = $pdoFetch->run();
//.... Установка переменных для второго запроса и его вызов
$res2 = $pdoFetch->run();
//Объединение двух запросов
$res=array_replace_recursive($res1,$res2);
Если цель просто вывести параметры ресурса, то можно написать либо отдельный сниппет для этого, либо писать так: [[#[[+id]].tv_field_name]], производительность во втором случае страдает.
все ответы можно найти в интернете, например по первому вопросу любой домен с www перенаправляет на без www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule (.*) http://%1/$1 [L,R=301]
по второму вопросу, не будут ли изначально из modx сохраняться пути к файлам в таком формате «folder/site1/image/news/bild.jpg»? Если да, то сначала надо разделение путей сделать, а потом настраивать реврайт
логика количества должна быть тогда расширена, связи подразумевают только связь между товарами без количества, вариантов например два:
1)сделать группу связей где будет при добавлении в корзину(на сколько я понял в этом цель) добавляться 2 ящика чипсов или чего-то еще, другая связь для 3х ящиков и т.п.
2)добавить количество в связи, расширив логику работы
Можно сделать поддоменами, я бы сказал проще, и не задумываться над подпапками.

Я так понимаю ссылки везде одни (т.е. не создано в одном контексте 4 филиала и у них разная структура, потому что бы такой вопрос не стоял), если да писать свой плагин на хук OnHandleRequest парсить филиал и выдавать нужную страницу.
Варианта 2, наверное: либо править код снипетов и модели Login, либо писать свою обертку для процессора добавления юзера, и то и другое требует расширенных знаний и времени.
Еще вариант взять Office (https://modstore.pro/packages/users/office) со скидкой, пока тепленький, предварительно уточнив наличие всего нужного функционала.
под формулировкой — не работает fancybox — значит его надо подключать и прописывать чтобы при щелчке на большой картинке открывался попап от фанси
то что миниатюры не работают — они должны работать из коробки, так что самый верный способ смотреть в консоль и на классы которые ты используешь, например чтобы стояло id=«msGallery» и т.п.
Обычно скрипты прописываются в футере, если используется минифаер, то лучше не добавлять в него фанси, он не работает, а времени почему не работает — разбираться не было.
Фанси нужно подключаться отдельно, советую 3ю версию, хоть и бета, уже давно юзаю — проблем не находил.

P.S. фанси кстати платная, но мало кто задумывается об этом…
Что мешает написать свой сниппет который будет это делать полностью и самостоятельно?
Есть еще вариант написать промежуточный сниппет, который будет вызываться в чанке и в него передавать названия, если буква изменилась он будет выводить какой-то код разделяющий и например первую букву.
Конструкция будет подобна:
[[+idx:mod=`3`:is=`0`:then=`<hr/>`:else=``]]
[[!mySnippet:is=`1`:then=`[[+name:limit=`1`]]`:else=``?&name=`[[+name]]`]]