Se installi un modulo personalizzato in Magento potrebbe mancare il TinyMce Mediabrowser. In tal caso, riceverai il seguente messaggio:
errore: errore in [oggetto sconosciuto].fireEvent():
nome evento: open_browser_callback
messaggio di errore: MediabrowserUtility non è definito
Come risolvere questo problema?
Soluzione rapida
In /app/design/adminhtml/default/default/layout/YOURMODULE.xml aggiungi:
1 js_css prototipo/windows/temi/default.css js_css prototipo/windows/temi/magento.css lib/prototipo/windows/temi/magento.css
Oppure cambiare
Soluzione lunga (potrebbe non funzionare)
Nel tuo /YOURMODULE/etc/config.xml hai:
core/variabile_osservatore prepareWysiwygPluginConfig
In Blocco/Adminhtml/TUOMODULO/Edit.php
funzione protetta _prepareLayout() { parent::_prepareLayout(); if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) { $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true); $this->getLayout()->getBlock('head')->setCanLoadExtJs(true); } }
Quindi nella parte superiore di Block/Adminhtml/YOURMODULE/Edit/Tab/Form.php
funzione protetta _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); Italiano: $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') ));
Più in basso:
$fieldset->addField('contenuto-non-chiamato', 'editor', array( 'name' => 'contenuto-non-chiamato', 'label' => Mage::helper('WHATEVER')->__('Contenuto'), 'title' => Mage::helper('WHATEVER')->__('Contenuto'), 'style' => 'larghezza:550px; altezza:300px;', 'required' => false, 'config' => $wysiwygConfig, 'wysiwyg' => true ));
Con i ringraziamenti a Teodori
Grazie mille per questo. Ho dovuto fare riferimento a questo più di una volta e mi ha aiutato a risparmiare ore di frustrazione ogni volta.