我想覆蓋/擴展Mage_Core_Encryption_Model
來處理舊密碼。覆蓋法師核心加密模塊模塊
我正在將舊網站數據遷移到magento。我的舊網站加密方法是Sha-1。但是magento在覈心加密方法中使用md5 +文本。我已經手動更改了核心模塊並正確遷移,但現在我想爲此創建一個自定義模塊(在沒有加密的情況下遷移,使用sha-1覆蓋md5方法後)
如何創建自定義模塊那會覆蓋我改變的核心代碼?
我想覆蓋/擴展Mage_Core_Encryption_Model
來處理舊密碼。覆蓋法師核心加密模塊模塊
我正在將舊網站數據遷移到magento。我的舊網站加密方法是Sha-1。但是magento在覈心加密方法中使用md5 +文本。我已經手動更改了核心模塊並正確遷移,但現在我想爲此創建一個自定義模塊(在沒有加密的情況下遷移,使用sha-1覆蓋md5方法後)
如何創建自定義模塊那會覆蓋我改變的核心代碼?
如果我理解正確,你需要一個模塊來替換Magento中的MD5哈希機制與SHA1?
我不會在這裏創建一個完整的模塊,而只是關鍵部分。如果你有興趣,但作爲一個完整的例子來參考,我創建了一個模塊一陣子回來,它用SHA512代替MD5哈希,你可以看看 - https://github.com/drewhunter/BetterHash - 你顯然需要稍微修改它來處理SHA1)
所以基本上你需要重寫Mage_Core_Model_Encryption
你模塊的config.xml的hash()方法要求如下:
文件:應用程序/代碼/本地/ Yourcompany/Yourmodule的/ etc/config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Yourcompany_Yourmodule>
<version>1.0.0</version>
</Yourcompany_Yourmodule>
</modules>
<global>
<helpers>
<core>
<encryption_model>Yourcompany_Yourmodule_Model_Hash</encryption_model>
</core>
</helpers>
</global>
</config>
然後趁改寫:
文件:應用程序/代碼/本地/ Yourcompany/Yourmodule /型號/ Hash.php
<?php
class Yourcompany_Yourmodule_Model_Hash extends Mage_Core_Model_Encryption
{
public function hash($data)
{
return sha1($data);
}
}
謝謝。我會盡力在此創建。 – sanji 2012-08-06 12:43:16
和哪一部分在這裏給你的麻煩?很高興知道你在做什麼,下次把這樣簡短的質量保證問題留給推特?嘗試解釋你的目標以及你迄今在這裏做了什麼。 – 2012-08-06 11:57:17
我正在將舊網站數據遷移到magento。我的舊網站加密方法是Sha-1。但是magento在覈心加密方法中使用md5 +文本。我手動更換核心模塊並正確遷移。但是現在我想爲它創建一個自定義模塊(遷移沒有加密,遷移之後用sha-1覆蓋md5方法)有什麼想法爲這個需求創建一個自定義模塊? – sanji 2012-08-06 12:03:14
編輯你的問題:)現在想想當你首先問的時候,人們應該怎麼知道這些細節? – 2012-08-06 12:06:01