2012-11-20 24 views
0

我們的代碼庫中有很多代碼是由第三方開發人員完成的。他們修改了核心中的許多地方,我們想弄清楚發生了什麼。Magento - >這是一個匿名函數嗎?

他們有這樣的代碼:

$pidsess = Mage::getSingleton('core/session', array('name'=>'frontend')); 
$pidsess->setNA_pid(array("PID" => $pid, "PartInfo" => $return_data['result'])); 

這樣做是存儲「全球可用的變量」,它可以隨時被稱爲Magento的會話存活這樣的:

$pidsess = Mage::getSingleton('core/session', array('name' => 'frontend')); 
$piddata = $pidsess->getNA_pid(); 

在哪裏我可以找到設置這個「變量」的代碼嗎?我搜索了'setNA_',發現了幾個調用,但沒有一個是實際的函數調用。

這是Magento愚蠢的EAV架構的一部分,您可以在其中構建自己的函數來設置EAV值?如果是這樣,那麼值將被存儲在哪裏?

回答

0

僅僅因爲你沒有時間理解和/或不喜歡它而調用某些愚蠢的東西肯定沒有幫助。但是,與許多magento基類一樣,它可能只是在會話存儲中某處結束的magento會話中設置一個變量。

我會從Mage::log(print_r($_SESSION,1)開始,看看是否真的有['NA_pid']

它與EAV無關。

+0

如果您已將Magento設置爲將會話存儲在數據庫中,則會話存儲將是使用會話ID命名的文件或表中的條目。 –

+0

在我看來,使用EAV這個產品是最愚蠢的事情,因爲你必須走100英里才能穿過街道。如果將它放在會話中一樣簡單,爲什麼我在任何文檔中的任何地方都找不到有關使用此「功能」的任何內容? – MB34

+0

它似乎將一個條目放入名爲n_a_pid的會話中。我只是希望它已被記錄在案SOMEWHERE ......但我想這對於Magento來說是相同的,保持一切儘可能祕密!上帝,我迫不及待地想要在下個月拋棄這些廢話。 – MB34