1

テキストボックスとエディターを含むカスタムモジュールをmagentoで作成しました。しかし、エディターを使用して画像またはビデオをアップロードしようとすると、次のようなエラーが表示されます。

error: error in [unknown object].fireEvent():

event name: open_browser_callback

error message: MediabrowserUtility is not defined

このため、モジュールに画像やビデオをアップロードできません。

この問題を解決するには?私を助けてください..

4

1 に答える 1

2

config.xml には次のものがあります。

<events>
  <cms_wysiwyg_config_prepare>
    <observers>
      <variable_observer>
        <class>core/variable_observer</class>
        <method>prepareWysiwygPluginConfig</method>
      </variable_observer>
    </observers>
  </cms_wysiwyg_config_prepare>
</events>

Block/Adminhtml/WHATEVER/Edit.php 内

protected function _prepareLayout() {
    parent::_prepareLayout();
    if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
        $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
    }
}

次に、Block/Adminhtml/WHATEVER/Edit/Tab/Form.php の上部に

     protected function _prepareForm() {
            $form = new Varien_Data_Form();
            $this->setForm($form);
            $wysiwygConfig = Mage::getSingleton('cms/wysiwyg_config')->getConfig(array('add_variables' => false,
         'add_widgets' => false,
          'add_images' => true,
          'files_browser_window_url' => Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/cms_wysiwyg_images/index'),
          'files_browser_window_width' => (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_width'),
          'files_browser_window_height'=> (int) Mage::getConfig()->getNode('adminhtml/cms/browser/window_height')
         ));

さらに下:

            $fieldset->addField('not-called-content', 'editor', array(
                                    'name'      => 'not-called-content',
                                    'label'     => Mage::helper('WHATEVER')->__('Content'),
                                    'title'     => Mage::helper('WHATEVER')->__('Content'),
                                    'style'     => 'width:550px; height:300px;',
                                    'required'  => false,
                                    'config'    => $wysiwygConfig,
                                    'wysiwyg'   => true
                                    ));

標準的な落とし穴: wysiwyg エリアを「コンテンツ」と呼ばないでください。これは、Magento によってフォーム ID として既に使用されています。

于 2012-08-31T11:14:07.683 に答える