Errore di riferimento: Uploader non è definito in magento 1.9.3


8

dopo l'aggiornamento alla nuova versione 1.9.3 . l'Uploader non funziona più. dato sotto error.i aggiorno il mio codice ma sempre lo stesso.

uploader var = nuovo

Uploader ({ "uploaderConfig": { "chunksize": 1073741824, "withCrede ...

sotto è il mio codice

class Spacename_Modulename_Block_Adminhtml_Modulename_Edit_Tab_Images extends Mage_Adminhtml_Block_Widget {

    protected $_uploaderType = 'uploader/multiple';

    protected function _prepareForm() {
        $data = $this->getRequest()->getPost();
        $form = new Varien_Data_Form();
        $form->setValues($data);
        $this->setForm($form);

        return parent::_prepareForm();
    }

    protected function _prepareLayout() {
        $this->setChild('uploader', $this->getLayout()->createBlock($this->_uploaderType)
        );

        $this->getUploader()->getUploaderConfig()
                ->setFileParameterName('image')
                ->setTarget(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'));

        $browseConfig = $this->getUploader()->getButtonConfig();
        $browseConfig
                ->setAttributes(array(
                    'accept' => $browseConfig->getMimeTypesByExtensions('gif, png, jpeg, jpg')
        ));


        return parent::_prepareLayout();
    }

}

codice js

<script type="text/javascript">
//<![CDATA[
var <?php echo $_block->getJsObjectName(); ?> = new Product.Gallery('<?php echo $_block->getHtmlId() ?>', <?php echo $_block->getImageTypesJson() ?>);
//]]>
</script>

Risposte:


25

Dopo molte ricerche ho scoperto che magento 1.9.3.0 rimuove l'uploader flash quindi il file js deve eseguire l' uploader aggiungere questi file in testa

<reference name="head">
            <action method="addJs"><file>lib/uploader/flow.min.js</file></action>
            <action method="addJs"><file>lib/uploader/fusty-flow.js</file></action>
            <action method="addJs"><file>lib/uploader/fusty-flow-factory.js</file></action>
            <action method="addJs"><file>mage/adminhtml/uploader/instance.js</file></action>
</reference>

1
Come votare 5 volte?
Arvind07,

@ Arvind07 trova 5 risposte e
voti positivi

1
Ho trovato questa risposta 5 volte fino ad ora. Mi salva sempre :)
Arvind07

@QaisarSatti Sono nuovo in Magento e sto lavorando per risolvere lo stesso problema, nella console mi sta mostrando l'errore MediabrowserInstance is not defined magento. Non so da dove posso aggiungere i file nella testa e inoltre non ho trovato questi file nella struttura delle cartelle. Potete per favore aiutarmi in questo
Anshul Mishra,

@AnshulMishra controlla questa soluzione anche magento.stackexchange.com/questions/142006/…
Qaisar Satti,

1

Ho risolto questo problema modificando le autorizzazioni del file.

Il problema era che i (nuovi) file Javascript sopra menzionati non potevano essere caricati. È stato generato un codice di errore 403.

Dopo aver impostato le autorizzazioni per i file nelle directory

js/image/adminhtml/uploader

e

js/lib/uploader,

il pulsante di caricamento funziona di nuovo correttamente!


Anche questa cartella: "js / mage / adminhtml / *"
artur,

1

Dove dovremmo aggiungere:

<reference name="head">
            <action method="addJs"><file>lib/uploader/flow.min.js</file></action>
            <action method="addJs"><file>lib/uploader/fusty-flow.js</file></action>
            <action method="addJs"><file>lib/uploader/fusty-flow-factory.js</file></action>
            <action method="addJs"><file>mage/adminhtml/uploader/instance.js</file></action>
</reference>

Non sono sicuro di cosa intendi per capo


questo dovrebbe aggiungere l'area head della pagina di estensione corrente.
Qaisar Satti,

Potete per favore dirmi dove aggiungere questo codice Sto usando un tema personalizzato nella versione Mag.3 1.9.3.8. Per favore dammi il percorso del file.
Sanjay Gohil,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.