Javascript 未定义Magento UploaderJsObject
我遇到了一个很奇怪的错误,我似乎无法解决。 在我想要上传/查看/删除图像的管理区域的任何地方都没有显示任何内容 我的“inspect element”控制台显示以下错误:Javascript 未定义Magento UploaderJsObject,javascript,magento,object,upload,admin,Javascript,Magento,Object,Upload,Admin,我遇到了一个很奇怪的错误,我似乎无法解决。 在我想要上传/查看/删除图像的管理区域的任何地方都没有显示任何内容 我的“inspect element”控制台显示以下错误: Uncaught ReferenceError: id_23b2a41c446dee70b327b51065e06137_UploaderJsObject is not defined 我找到了gallery.phtml文件,该文件包含以下代码: <script type="text/javascript">
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>
//getJsObjectName();?>=新产品。图库(“”,空,);
//]]>
我完全不知道这里出了什么问题。我没有弄乱任何核心文件。
我也没有更改任何javascript内容
我希望有人能帮我找出问题所在。从昨天起我就一直在犯这个错误
感谢您的帮助:)好了,哇,我的同事在发布这个问题后第二秒就找到了 如果其他人有这个问题 不知怎的,皮肤文件夹中的某些文件丢失了
希望有人会发现此信息有用。最近克隆了一个回购协议,或者试图设置另一个magento环境,但看到此错误?检查以下文件是否位于正确的位置,这些文件可能是由于二进制文件(swf闪存文件)而留下的,或被版本控制软件忽略:
/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
不存在,所以不要担心该文件。我也有同样的问题 在我的php.ini中,max_post被设置为0,这应该会禁用它,但是这会破坏JS上传程序,因为它查询php的最大上传大小
我刚把它设为100米,浏览和上传按钮就出现了 在我的例子中,从
/app/etc/modules
中删除文件Dull\u Uploader.xml
解决了这个特定问题。我检查了本页中给出的所有内容,并且所有文件都在正确的位置。进一步的调查把我带到了这里
然后我意识到我在firefox中,这可能就是原因
安装flash player后,一切正常
希望这能帮助别人
更新-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.
给出的答案是@danny-z似乎已经成功了 我还想补充一点,所有这些文件的权限都应该设置为0644。因此,只需将
cd
放入每个目录中,并使用ls-l
检查当前权限即可。它们应该显示为-rw-r--r--
。如果没有,则执行chmod 0644*
(确保运行此操作时您在目录中,这样它只会影响这些文件),然后再次检查它们以确保其工作正常
此外,@KPheasey在上面的评论中提到,.gitignore
排除了所有媒体。我理解这意味着,当将站点部署到服务器时,由于.gitignore
而排除了所有媒体
,但在.gitignore
本地使用媒体
不会阻止这些文件在本地工作。我只是想澄清一下,因为一开始我对那个评论有点困惑
文件丢失的原因是我对现有网站(在本地机器上设置)进行了tar
,并排除了media
,因此我没有得到一个大文件。我本想排除主媒体
文件夹,但由于错误也排除了这些文件夹(我猜可能还有其他文件夹)。最后我在我的ubuntu 16.04上安装flash解决了这个问题:
sudo apt install adobe-flashplugin
这对我也有用。这些文件丢失的原因是我在.gitignore中有“media”而不是“/media”。请注意,Magento 1.9不需要/skin/adminhtml/default/default/media/editor.swf
。执行了从1.7到1.9的升级,并且管理区域中缺少图像/按钮。禁用此选项可以解决问题。