Magento UploaderJsObject未定义

时间:2012-10-23 12:15:13

标签: javascript magento object upload admin

我遇到了一个非常奇怪的错误,我似乎无法解决。 我想要上传/查看/删除图像的管理区域中的任何位置都没有显示。

我的'inspect element'控制台给了我这个错误:

Uncaught ReferenceError: id_23b2a41c446dee70b327b51065e06137_UploaderJsObject is not defined 

我将其跟踪到具有以下代码的gallery.phtml文件:

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

我完全不知道这里出了什么问题。我没有任何核心文件的混乱。 我也没有改变任何javascript的东西。

我希望有人可以帮我找出问题所在。自昨天以来一直坚持这个错误..

感谢任何帮助:)

7 个答案:

答案 0 :(得分:36)

最近克隆了一个repo或试图设置另一个magento环境并看到这个错误?检查以下文件是否位于由于是二进制文件(swf flash文件)而被版本控制软件忽略而可能留下的适当位置:

/skin/adminhtml/default/default/media/uploader.swf
/skin/adminhtml/default/default/media/uploaderSingle.swf
/skin/adminhtml/default/default/media/editor.swf
/skin/adminhtml/default/default/media/flex.swf

并且为了衡量这些文件:

/app/design/adminhtml/default/default/template/media/uploader.phtml
/app/design/adminhtml/default/default/template/media/editor.phtml

下面有人提到magento 1.9:

/skin/adminhtml/default/default/media/editor.swf

不存在,所以不要担心该文件。

答案 1 :(得分:5)

我遇到了同样的问题。

在我的php.ini中,max_post被设置为0,应该禁用它,但这会破坏JS Uploader,因为它会查询php的最大上传大小。

我只需将其设置为100M,即可显示浏览和上传按钮。

答案 2 :(得分:1)

就我而言,从Dull_Uploader.xml删除文件/app/etc/modules解决了这个特定问题。

答案 3 :(得分:0)

哦,哇我的同事们在发布这个问题后发现了一秒钟。

如果其他人有这个问题。

皮肤文件夹中的某些文件丢失了。

希望有人会发现此信息有用。

答案 4 :(得分:0)

我检查了此页面中给出的所有内容,所有文件都在正确的位置。进一步的调查把我带到了page

然后我意识到我在firefox中,这可能就是原因。

安装flash播放器后,一切正常。

希望这会对某人有所帮助。

更新-1(如果参考链接更改):

Check for the flash player

http://helpx.adobe.com/flash-player.html
Your magento root directory should not be password protected using .htpasswd file.

Please post if you are getting any error.

答案 5 :(得分:0)

答案是@ danny-z似乎已经成功了。

我还要补充一点,所有这些文件的权限都应该设置为0644.所以只需cd进入每个目录,然后使用ls -l检查当前权限。它们应显示为-rw-r--r--。如果他们不这样做chmod 0644 *(确保你在运行它时在目录中,所以它只影响那些文件),然后再次检查它们以确保它有效。

此外,@ KPheasey在.gitignore排除所有media的评论中提及上述内容。我理解这意味着在将网站部署到服务器时,由于media而排除了所有.gitignore,但在media本地.gitignore不会阻止这些文件工作本地。只是想澄清一下,因为我最初对这个评论感到有些困惑。

我丢失文件的原因是因为我做了tar现有网站(在本地计算机上设置)并排除了media,因此我没有收到大量文件。我的意思是排除主media文件夹,但错误地将这些文件夹排除在外(或许我猜的其他文件)。

答案 6 :(得分:0)

最后我通过在我的ubuntu 16.04上安装flash解决了问题:

sudo apt install adobe-flashplugin