ReferenceError: Trình tải lên không được xác định trong magento 1.9.3


8

sau khi cập nhật lên phiên bản mới 1.9.3 . Trình tải lên không hoạt động nữa. đưa ra dưới đây error.i nâng cấp mã của tôi nhưng vẫn như vậy.

tải lên var = mới

Trình tải lên ({"uploaderConfig": {"chunkSize": 1073741824, "withCrede ...

dưới đây là mã của tôi

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

}

mã js

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

Câu trả lời:


25

Sau nhiều lần tìm kiếm, tôi thấy rằng magento 1.9.3.0 họ đã gỡ bỏ trình tải lên flash, vì vậy tệp js cần phải chạy trình tải lên thêm các tệp này vào đầu

<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
Làm thế nào để upvote 5 lần?
Arvind07

@ Arvind07 tìm 5 câu trả lời và upvote: D
Qaisar Satti

1
Tôi đã tìm thấy câu trả lời này 5 lần cho đến nay. Nó luôn cứu tôi :)
Arvind07

@QaisarSatti Tôi mới sử dụng Magento và đang khắc phục sự cố tương tự, trong bảng điều khiển cho tôi biết lỗi MediabrowserInstance is not defined magento. Tôi không biết từ đâu tôi có thể thêm các tệp trong đầu và cũng không tìm thấy các tệp này trong cấu trúc thư mục. Bạn có thể vui lòng giúp tôi trong việc này không
Anshul Mishra

@AnshulMishra kiểm tra giải pháp này cũng magento.stackexchange.com/questions/142006/ mẹo
Qaisar Satti

1

Tôi đã giải quyết vấn đề này bằng cách điều chỉnh các quyền của tập tin.

Vấn đề là các tệp Javascript (mới) đã đề cập ở trên không thể tải được. Một mã lỗi 403 đã được ném.

Sau khi thiết lập quyền tập tin trên các thư mục

js/image/adminhtml/uploader

js/lib/uploader,

nút tải lên hoạt động chính xác trở lại!


Thư mục này cũng vậy: "js / mage / adminhtml / *"
artur

1

Nơi nào chúng ta phải thêm:

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

Tôi không chắc chắn những gì bạn có ý nghĩa bởi người đứng đầu


điều này được cho là để thêm khu vực đầu trang mở rộng hiện tại.
Qaisar Satti

Bạn có thể vui lòng cho tôi biết nơi để thêm mã này không. Tôi đang sử dụng chủ đề tùy chỉnh trong Phiên bản Magento 1.9.3.8. Xin vui lòng cho tôi đường dẫn tập tin.
Sanjay Gohil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.