Восстанавливаю сайт на Joomla 3.10 из архива Ackeeba.
Видать был на старом сервере MySQL
Новый 8.0.35-cll-lve - MySQL Community Server - GPL
К2 отказывается работать выдает ошибку:
42000
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups ON cat.extraFieldsGroup = groups.id WHERE cat.trash = 0 ORDER BY cat.pare' at line 1
ChatGPT и DeepSeek утвреждают что проблема в старой "офрфографии". Мол обновление спасет. Но обновление не помогает.
ИИ так же утверждают что если заковычить groups то решит проблему, но groups там где ошибка возникает - нет его. Видать как то генерирует в categories.php
Либо формируется динамически через методы $query->join() / $db->quoteName().
Подозреваю что проблема в файле categories.php
В этом куске кода:
$queryStart = "/* Backend / K2 / Categories */ SELECT c.*, g.name AS groupname, exfg.name as extra_fields_group
FROM #__k2_categories as c
LEFT JOIN #__groups AS g ON g.id = c.access
[b]LEFT JOIN #__k2_extra_fields_groups AS exfg ON exfg.id = c.extraFieldsGroup[/b]
WHERE c.id > 0";
if (K2_JVERSION != '15') {
$queryStart = JString::str_ireplace('g.name AS groupname', 'g.title AS groupname', $queryStart);
$queryStart = JString::str_ireplace('#__groups', '#__viewlevels', $queryStart);
}
То есть,
как я думаю, то переиначить
LEFT JOIN #__k2_extra_fields_groups AS exfg ON exfg.id = c.extraFieldsGroup
У кого какие мысли?
Как разрулить?
Если развернуть на старой версии SQL не вариант, ведь все равно нужно апгрейдить.
Конечная задача перевести материалы К2 в стандартные Joomla, а потом апгрейдить на 4-ю, и далее на 5-ю жумку.
Спасибо за уделенное время!
!