Ворклог по задаче "На хеппибеби проработать редиректы"
18 июн. 2026 г., 06:10:38
Сейчас большая путаница с путями картинок.
В тв-полях картинки когда выбираешь, записывается относительный путь от корня самого медеасурса, а не от корня сайта. Вот к примеру, полный путь: /userfiles/Dopolnitelnoe_oborydovanie/balka-s-kachelyami-i-kolczami-samson.png а записывает Dopolnitelnoe_oborydovanie/balka-s-kachelyami-i-kolczami-samson.png
Логика MODX-а: "А чо такова? Медиасурс по-умолчанию, бери из него".
А то, что медиасурс по-умолчанию можно сменить (и он менялся), это их не волнует. В итоге картинка пока на фронте держится на кеше phpthumb ,а по прямой ссылке не доступна.
В итоге в ресайзере пришлось накостылять
// Поиск файла с альтернативными префиксами для старых картинок
if (!fs.existsSync(absPath)) {
const altPrefixes = ['images_old/', 'userfiles/', 'images_old/userfiles/']
for (const prefix of altPrefixes) {
const altPath = resolve(`/uploads/`, prefix + src)
const altAbsPath = process.cwd() + altPath
if (fs.existsSync(altAbsPath)) {
absPath = altAbsPath
break
}
}
}
Но надо будет еще выпиливать префикс images_old из УРЛов, а для этого вероятно придется и редиректы прописать.