Magento: изображение загрузки CMS не работает
Я пытаюсь понять, почему редактор tinyMCE WYSIWYG в модуле CMS Magento не будет загружать изображения. Я могу создавать/удалять папки, но любой файл просто не будет загружен, и, похоже, нет сообщения о том, почему файл не был успешно записан на сервере.
У кого-нибудь может возникнуть идея, почему?
** Обновление **
Я использую Magento 1.6.2. Я попытался отследить проблему, и кажется, что контроллер никогда не запускается. Я добавил строку для регистрации аргументов в действии uploadAction()
(в Mage_Adminhtml_Cms_Wysiwyg_ImagesController
) и ничего не регистрируется.
Это проект, унаследованный от кого-то другого, и был изменен до некоторой степени, но ничто не указывает на то, что эта часть Magento была бы затронута в любом случае модификациями.
** РЕДАКТИРОВАТЬ **
Проект, связанный с этим вопросом, был удален, и я больше не могу ответить на этот вопрос. Если кто-то может подтвердить рабочий ответ (поскольку эта проблема была довольно распространена с Magento), я с радостью отмечаю этот ответ как "принятый".
В противном случае, я буду отмечать этот вопрос для удаления по указанным выше причинам.
Спасибо.
Ответы
Ответ 1
Помимо предоставляемых здесь решений, это может произойти, если вы используете CDN (или другой домен) для своих javascript и медиафайлов в панели администратора. Если вы используете CDN, используйте его для области веб-сайта и используйте свой собственный домен для по умолчанию. Он будет загружать файлы вашего сайта (-ов) и файлы javascript из CDN, а также загружать бэкэнд файлы и файлы javascript из вашего собственного домена. Это решит вашу проблему.
Ответ 2
Есть некоторые известные проблемы с загрузчиком Flash-изображений на Magento. К сожалению, когда он падает, он падает тихо. Вот некоторые случаи, когда smth может сломать его:
- если вы попытаетесь использовать его с защищенным подключением, используя открытый сертификат ssl
- если вы используете его на сервере с аутентификацией apache
- для некоторых версий Magento с прототипом 1.7
Я думаю, что последнее - ваш лучший выбор. Возможно, вам стоит попробовать применить патч отсюда: http://www.magentocommerce.com/boards/viewthread/4348/P45/#t327010
Ответ 3
В моем случае это была проблема с перекрестными доменами, и довольно сложно найти, если вы спросите меня...
Что меня озадачило, так это то, что загрузчик изображений продукта работал как прелесть, но тот, что был в разделе CMS, полностью терпел неудачу. Мы обслуживаем папку скинов из ведра Amazon S3, а флеш-загрузчик живет под этой папкой.
Интересно, что наша версия Magento (1.7.0.2) использует два разных метода для вычисления пути к SWF файлу, в зависимости от того, находитесь ли вы под CMS или Product update.
В CMS файле (app/design/adminhtml/default/default/template/cms/browser/content/uploader.phtml) используется следующий способ вставки Flash Uploader:
<?php echo $this->getSkinUrl('media/uploader.swf') ?>
В то время как загрузчик изображения продукта использует:
<?php echo $this->getUploaderUrl('media/uploader.swf') ?>
В нашем случае первый разрешает URL-адрес AWS S3, очевидно, в отдельном домене, а второй по-прежнему ссылается на адрес локального домена.
Итак, быстрое, грязное исправить было бы заменить getSkinUrl для getUploaderUrl в app/design/adminhtml/default/default/template/cms/browser/content/uploader.phtml. В качестве альтернативы вы можете расширить ядро для загрузки другого шаблона, в котором вы бы заменили этот метод.
Надеюсь, это поможет кому-то... Хотелось бы, чтобы я нашел что-то вроде этого пять дней назад, когда я впервые наткнулся на проблему: -)
Ответ 4
Вы используете флеш-загрузчик с https? Если да, то ваш безопасный адрес в другом домене (обычно используется в shared ssl)?
У меня проблемы с этим. Я решил, установив плагин для отключенного флеш-загрузчика.
Вы можете загрузить плагин с помощью этого ключа загрузчика:
http://connect20.magentocommerce.com/community/Dull_Uploader
Надеюсь, это поможет.