Я пытаюсь добавить поле загрузки рабочего изображения в мой новый раздел конфигурации Magento, но оно не работает.Всякий раз, когда я «загружаю» файл (выбираю файл, затем сохраняю конфигурацию), функция модели бэкэнда _beforeSave()
(которую я, возможно, по ошибке расположил в app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
) не вызывается, а файл незагрузил либо.Есть мысли?
Я использую модуль под названием Page в моем собственном пространстве имен в локальном пуле кода.Это вызывает проблемы?Мне не нужно так его называть, и почему она называется «Страница», это длинная история.
System.xml:
<?xml version="1.0" ?>
<config>
<sections>
<newtheme module="page" translate="label">
<label>Newtheme</label>
<sort_order>200</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<tab>general</tab>
<groups>
<homepage translate="label">
<label>Home Page</label>
<comment>Some comment about my group</comment>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<banner_image translate="label tooltip comment">
<label>Image upload</label>
<comment>This is an image field</comment>
<tooltip>Image tooltip!</tooltip>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<sort_order>200</sort_order>
<frontend_type>image</frontend_type>
<backend_model>adminhtml/system_config_backend_image</backend_model>
<upload_dir config="system/filesystem/media" scope_info="1">newtheme/homepage</upload_dir>
<base_url type="media" scope_info="1">newtheme/homepage</base_url>
</banner_image>
</fields>
</homepage>
</groups>
</newtheme>
</sections>
</config>
У меня также есть adminhtml.xml, нодумаю, это работает, потому что я могу открыть раздел просто отлично.
Получил заголовки, используя Live HTTP заголовки Firefox (я использую Mac) для POST, на следующий URL: http://example.com/index.php/admin/system_config/save/section/newtheme/key/84670cdcd055b925312eb3ecf0cb98e1/
POST /index.php/admin/system_config/save/section/newtheme/key/84670cdcd055b925312eb3ecf0cb98e1/ HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: nl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://example.com/index.php/admin/system_config/edit/section/newtheme/key/eba46a991cc50c762cdac658da954c8a/
Cookie: adminhtml=23f1b26aa83ff7208b47b350794616f9
Content-Type: multipart/form-data; boundary=---------------------------9849436581144108930470211272
Content-Length: 97451
-----------------------------9849436581144108930470211272
Content-Disposition: form-data; name="form_key"
2vTBh14zpv3FCEAV
-----------------------------9849436581144108930470211272
Content-Disposition: form-data; name="config_state[newtheme_homepage]"
1
-----------------------------9849436581144108930470211272
Content-Disposition: form-data; name="groups[homepage][fields][mycustom_field][value]"
jkflsjfgkld
-----------------------------9849436581144108930470211272
Content-Disposition: form-data; name="groups[homepage][fields][image_field][value]"; filename="sub_banner_3.png"
Content-Type: image/png
PNG
HTTP/1.1 302 Found
Date: Thu, 02 Feb 2012 07:57:07 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: adminhtml=23f1b26aa83ff7208b47b350794616f9; expires=Sat, 04-Feb-2012 07:57:08 GMT; path=/; domain=example.com; httponly
Location: http://example.com/index.php/admin/system_config/edit/section/newtheme/key/eba46a991cc50c762cdac658da954c8a/
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 20
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Полагаю, файл отправляется нормально.Так почему не сохраняется?Это бэкэнд-модель, которая не называется правильно?