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

Надеюсь, это поможет.