最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

Magento常见的报错问题解决

在做magento二次开发的过程中,曾遇到过很多问题,其实解决起来也蛮容易 大多数都是些magento配置及操作上的问题,大概因为当初刚接触magento, 所以碰到不少问题。今日回想下,总结了一些 留个纪念,不是蛮全面 ,但想起来的也就这么多了。

后台首页出现404错误

>查看模版是否没有 查看后台—系统配置—设计配置的模版

>因为在/etc/local.xml中修改过后台入口的路径 而后登录后台成功后 报404错误

查看后发现后台的新路径前面总是加了默认的管理入口admin

例如:http://localhost/magento/index.php/admin/newadmin

此种问题是url的问题

解决方案:后台–System–Configuration–Web–Url Options–Add Store Code to Urls    把Add Store Code to Urls的值设为NO 即可

前台首页出现404错误

>magento 前台首页配置URL重写后出现404错误。

解决方案:后台—System—Configuration—Web—Default Pages—-CMS, 选择Home Page,选择正确的首页页面即可。

前台产品无法显示

>后台录入了产品 数据库中也有产品信息  但前台页面没有显示任何添加的产品

解决方案:magento数据索引的问题  进入后台—System—Index Management   选择所有索引进行修复  然后清除缓存 刷新前台 Ok 搞定

批量导入错误

在使用Magento Import All Products Profile 导入产品数据时,出现了以下错误提示:

Skipping import row, required field “sku” is not defined.
 Skip import row, required field “store” not defined

解决方案:

1、检查”sku”、store等字段值是否留空;
2、检查各关键字段值是否合法规范(如:英文的逗号、双引号等)
3.最后我把批量导入的.csv文件编码格式以UTF-8编码来保存,重新导入,OK了!
当出现以下提醒时,说明数据库中已经有此条记录了.
Invalid method Mage_Catalog_Model_Product_Option_Value::deletue(Array ( [0] => * ) )
如果SKU是唯一的库存号,导入程序会直接跳过。*为Products ID.

可下载产品状态语言包不生效

解决方法:

<?php echo ucfirst($_item->getStatus()) ?>

更新为:

<?php echo $this->__(ucfirst($_item->getStatus())) ?>

 

本地安装成功后无法进入后台,密码和用户名均正确。

解决方案:

1.这是一个cookie问题 修正这个问题的方法是定位到:

app/code/core/Mage/Core/Model/Session/Abstract/Varien.php 。大约在70行左右你可以看到类似的:

   // set session cookie params
        session_set_cookie_params(
            $this-&gt;getCookie()-&gt;getLifetime(),
            $this-&gt;getCookie()-&gt;getPath() // 注释掉后面或删除.
            //$this-&gt;getCookie()-&gt;getDomain(),
            //$this-&gt;getCookie()-&gt;isSecure(),
            //$this-&gt;getCookie()-&gt;getHttponly()
        );

2.用ip地址代替常用的localhost 例如http://127.0.0.1/ 代替 http://localhost

整站迁移时程序出错:

Undefined index : 0 in ***\app\code\core\Mage\Core\Model\Mysql4\Config.php on line 92 ";"
#0 ***\app\code\core\Mage\Core\Model\Mysql4\Config.php(92): mageCoreErrorHandler(8, 'Undefined index...', 'D:\xx24578\www\mym...', 92, Array)
#1 ***\app\code\core\Mage\Core\Model\Config.php(344): Mage_Core_Model_Mysql4_Config-&amp;gt;loadToXml(Object(Mage_Core_Model_Config))

问题原因 :

Mysql使用工具 (如PhpMyAdmin / MySQL-Front / Navicat for MySQL / SQLyogEnt等)重载转储文件(也就是重导.sql文件)的时候,默认在执行过程中遇到0值一般会生成新的序列号。

Magento的core_store表的admin的store_id为0;core_store_group表的Default的group_id也为0。

在导入.sql文件的时候,原本的0变成了新的序列号,破坏了Magento原有的数据。

解决方案:

1.执行一遍下面语句。

SET FOREIGN_KEY_CHECKS=0;
update `core_store` set store_id = 0 where code='admin';
update `core_store_group` set group_id = 0 where name='Default';
update `core_website` set website_id = 0 where code='admin';
update `customer_group` set customer_group_id = 0 where customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;

2.在导的.sql文件最前面加入:SET SQL_MODE = NO_AUTO_VALUE_ON_ZERO;

补充:
Mysql的模式:NO_AUTO_VALUE_ON_ZERO

这个项影响 AUTO_INCREMENT 列的处理。

正常情况下,当我们向 AUTO_INCREMENT 列插入0或NULL的时候,会产生下一个序列号。

而mode = NO_AUTO_VALUE_ON_ZERO的时候,只有NULL才产生新的序列号,屏蔽了0。

如此,像遇到Magento报错
Notice: Undefined index : \app\code\core\Mage\Core\Model\Mysql4\Config.php on line 92
这种问题就解决了

前台导航没有出现二级下拉菜单或三级下拉菜单

解决方法:进入后台 把Is Anchor 属性设为Yes。

Magento中文订单PDF输出乱码

问题分析:这是由于Magento的PDF 的字体是英文字体,并不支持中文,所以产生的 PDF 里中文无法显示,只显示为一个“口”

解决方法:

app\code\core\Mage\Sales\Model\Order\Pdf/Abstract.php

文件第610行左右,/lib/LinLibertineFont/STSONG.TTF。

修改文件名。

然后再文件夹LinLibertineFont添加STSONG.TTF文件。

PS:不影响版本更新。

缺货产品无法显示

解决方法:system->configuraction->inventory->stock options
Display out of stock products=>yes

转载请注明:嗨酷哥,有你更酷! » Magento常见的报错问题解决

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项