Почему мое изображение не загружается? - PullRequest
2 голосов
/ 02 февраля 2012

Я пытаюсь добавить поле загрузки рабочего изображения в мой новый раздел конфигурации 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

Полагаю, файл отправляется нормально.Так почему не сохраняется?Это бэкэнд-модель, которая не называется правильно?

1 Ответ

0 голосов
/ 16 апреля 2012

Здравствуйте, пожалуйста, следуйте этому Проверьте, включены ли помощники в config.xml, иначе добавьте блок помощников ниже

<helpers><newtheme><class>NAMESPACE_Newtheme_Helper</class></newtheme></helpers>

И также проверьте, является ли используемое имя модуля везде регистрозависимым, так как в Linux есть разница в newtheme и Newtheme Также проверьте, создана ли папка на носителе newtheme / homepage Очистите кеш и сеанс, а затем проверьте, дайте мне знать, если он работает после проверки выше вещей

...