0

私のMagentoの奇妙なこと。そして、私は問題を見ることができません。

モジュールを作成しました。(CMS ページを拡張します)

Observer.php私が持っている:

$fieldset->addField('news_header_image', 'image', array(
    'name'      => 'news_header_image',
    'label'     => Mage::helper('cms')->__('News Header image 80x80 pics'),
    'title'     => Mage::helper('cms')->__('News Header image 80x80 pics'),
    'value'     => $model['news_header_image']
));

これはうまくいきますが...

public function savePage(Varien_Event_Observer $observer)
私のobserver.phpでは、次を使用できます:$_POST['news_header_image']
しかし $_FILES['news_header_image']['name'](またはvar_dump($_FILES))は完全に空です:-S

ここで何が問題なのですか?ありがとう!

4

2 に答える 2

1

<form>cmsページのにenctypeを追加する必要があります

/**
 * Add enctype to cms page edit form
 *
 * @param $observer Varien_Event_Observer
 *
 * @return void
 */
public function adminhtmlBlockHtmlBefore($observer)
{
    $block = $observer->getEvent()->getBlock();
    if ($block instanceof Mage_Adminhtml_Block_Cms_Page_Edit_Form) {
        $block->getForm()->setEnctype('multipart/form-data');
    }
}

これを設定に追加します。

<config>
    <adminhtml>
        <events>
            <adminhtml_block_html_before>
                <observers>
                    <threeaart_pagetemplates>
                        <type>singleton</type>
                        <class>ThreeAArt_PageTemplates_Model_Observer</class>
                        <method>adminhtmlBlockHtmlBefore</method>
                    </threeaart_pagetemplates>
                </observers>
            </adminhtml_block_html_before>
        </events>
    </adminhtml>
</config>
于 2013-01-08T21:33:00.983 に答える
0

_POST 変数を介して直接ではなく、オブザーバー オブジェクトを使用して、イベントによってアタッチされた値を取得する必要があると思います。

私は CMS イベントに詳しくありませんが、以下のデバッグ ダンプを実行して、特定のイベントで使用可能な値を確認すると..

$observer->getEvent()
于 2013-01-08T14:07:51.620 に答える