ReferenceError: Uploader não está definido no magento 1.9.3


8

após atualização para a nova versão 1.9.3 . o remetente não está mais funcionando. dado abaixo error.i atualizar meu código, mas ainda o mesmo.

var uploader = new

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

abaixo está o meu código

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();
    }

}

código js

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

Respostas:


25

Depois de muita pesquisa, descobri que o Magento 1.9.3.0 remove o Flash Uploader, então o arquivo js precisa executar o Uploader e adicione esses arquivos na cabeça

<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>

11
Como votar 5 vezes?
Arvind07

@ Arvind07 encontre 5 respostas e vote: D
Qaisar Satti

11
Eu encontrei esta resposta 5 vezes até agora. Ele sempre salva me :)
Arvind07

@QaisarSatti Sou novo no Magento e estou trabalhando para corrigir o mesmo problema, no console está me mostrando o erro MediabrowserInstance is not defined magento. Não sei de onde posso adicionar os arquivos na cabeça e também não os encontrei na estrutura de pastas. Você pode por favor me ajudar nisso?
Anshul Mishra

@AnshulMishra verificar esta solução também magento.stackexchange.com/questions/142006/...
Qaisar Satti

1

Resolvi esse problema ajustando as permissões de arquivo.

O problema era que os arquivos Javascript (novos) acima mencionados não puderam ser carregados. Um código de erro 403 foi lançado.

Depois de definir permissões de arquivo nos diretórios

js/image/adminhtml/uploader

e

js/lib/uploader,

o botão de upload funciona corretamente novamente!


Esta pasta também: "js / mage / adminhtml / *"
artur

1

Onde devemos adicionar:

<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>

Eu não tenho certeza do que você quer dizer com cabeça


isso deve adicionar a área atual da página de extensão.
Qaisar Satti 11/11

Você pode me dizer onde adicionar esse código? Estou usando o tema personalizado na versão Magento 1.9.3.8. Por favor, me dê o caminho do arquivo.
Sanjay Gohil
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.