magento常見的問題及解決方法


剛接觸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.
  
  可下載產品狀態語言包不生效解決方法:
  
  getStatus()) ?>
  
  更新為:
  
  __(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->getCookie()->getLifetime(),
   $this->getCookie()->getPath() // 注釋掉后面或刪除.
   //$this->getCookie()->getDomain(),
   //$this->getCookie()->isSecure(),
   //$this->getCookie()->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->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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM