MODX Parse Error в "Параметры (TV)"

spamhost

Постоялец
Регистрация
29 Апр 2009
Сообщения
291
Реакции
160
Достался сайт на MODx, необходимо внести некоторые правки, но на странице элементов в части "Параметры (TV)" имею такое сообщение:

« MODX Parse Error »
MODX encountered the following error while attempting to parse the requested resource:
« Execution of a query to the database failed - Expression #1 of ORDER BY clause is not in SELECT list, references column 'mysite_modx.tvtpl.rank' which is not in SELECT list; this is incompatible with DISTINCT »
SQL > SELECT DISTINCT tv.*, IF(tvc.value!='',tvc.value,tv.default_text) as value FROM `mysite_modx`.`modx_site_tmplvars` AS tv INNER JOIN `mysite_modx`.`modx_site_tmplvar_templates` AS tvtpl ON tvtpl.tmplvarid = tv.id LEFT JOIN `mysite_modx`.`modx_site_tmplvar_contentvalues` AS tvc ON tvc.tmplvarid=tv.id AND tvc.contentid='18' LEFT JOIN `mysite_modx`.`modx_site_tmplvar_access` AS tva ON tva.tmplvarid=tv.id WHERE tvtpl.templateid='6' AND (1='1' OR ISNULL(tva.documentgroup)) ORDER BY tvtpl.rank,tv.rank, tv.id

Если вставить данный SQL-запрос без ошибочной части "ORDER BY tvtpl.rank,", то в phpmyadmin он отрабатывает корректно. Где убрать или откорректировать в MODx "tvtpl.rank", чтобы не выводился этот ошибочный запрос и работало корректно?
 
Часы в поисковиках и экспериментах привели к решению, что это из-за устаревшего кода MODx и несовместимости с MySQL 5.7 и в новых релизах эта проблема устранена Для просмотра ссылки Войди или Зарегистрируйся
Проблема в том, что на сервере я ради одного устаревшего сайта не могу понижать версию MySQL до 5.5, но и обновить MODx EVO тоже нельзя из-за используемых модулей и шаблонов.
Вопрос: можно ли заменить избирательно какие-то конкретные файлы MODx для решения этой проблемы?

p.s. Проблема решается многими способами, напр.:
/etc/mysql/my.cnf
[mysqld]
sql_mode="NO_ENGINE_SUBSTITUTION"
 
Последнее редактирование:
Назад
Сверху