Ошибка 1054 Unknown column 'a.download_days' в Phoca Cart на Joomla
При попытке редактировать товар в компоненте Phoca Cart на Joomla 3.10.11 вы можете столкнуться с ошибкой 1054 Unknown column 'a.download_days' in 'field list'. Это указывает на отсутствие столбца download_days в таблице базы данных компонента. Проблема возникает из-за несоответствия между версией Phoca Cart (3.5.8) и структурой её таблиц, часто после обновления или неполной установки.
Причины возникновения ошибки
Ошибка 1054 - типичная проблема с БД в Joomla. Она возникает, когда код компонента пытается обратиться к полю, которого нет в таблице. В вашем случае файл additional.php запрашивает a.download_days, но таблица не была обновлена. Это может случиться:
- После обновления Phoca Cart с версии 3.5.7 до 3.5.8, если SQL-миграции не выполнились.
- Из-за ошибок при установке расширения или ручного вмешательства в БД.
- При несовместимости с другими плагинами, блокирующими выполнение запросов.
Как исправить ошибку Unknown column
Способ 1: Запуск обновления компонента
Самый безопасный метод - переустановить Phoca Cart через Менеджер расширений. Это запустит все SQL-запросы заново. Перейдите в Расширения → Менеджер расширений → Управление, найдите Phoca Cart и нажмите «Обновить». Если кнопка неактивна, скачайте последнюю версию с официального сайта и установите через Установка → Загрузить файл пакета.
Способ 2: Ручное добавление поля через phpMyAdmin
Если обновление не помогло, добавьте столбец вручную. Откройте phpMyAdmin, выберите базу данных вашего сайта, найдите таблицу #__phocacart_products (префикс #__ замените на ваш, например jos_). Выполните SQL-запрос:
ALTER TABLE `#__phocacart_products` ADD `download_days` INT(11) NOT NULL DEFAULT '0' AFTER `download_hits`;После выполнения проверьте, что столбец появился. Затем очистите кеш Joomla в Система → Очистить кеш.
Способ 3: Проверка целостности таблиц
Иногда проблема связана с повреждением таблицы. В phpMyAdmin выберите таблицу #__phocacart_products, нажмите «Проверить» и «Исправить». Это восстановит структуру, но не добавит отсутствующие поля - только исправит индексы.
Профилактика ошибок БД в Joomla
Чтобы избежать подобных ошибок в будущем, регулярно обновляйте компоненты и ядро Joomla. Перед обновлением создавайте полную резервную копию базы данных и файлов. Используйте встроенный инструмент Система → Обслуживание → База данных для проверки таблиц после каждого обновления расширений.