2016-07-29 39 views
0

我想獲得Magento 1.9中屬性的管理選項(即值)。到目前爲止,我已經能夠做到這一點:如何獲取屬性的管理選項(即值)?

<?php 
define(CURRENT_STORE_ID, Mage::app()->getStore()->getStoreId()); 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
// Display admin value of "attribute" 
echo $_product->getAttributeText('attribute'); 
Mage::app()->setCurrentStore(CURRENT_STORE_ID); 
// Still display admin value of "attribute" 
echo $_product->getAttributeText('attribute'); 
?> 

的問題是,我無法弄清楚如何切換回「正常」店後,我檢索管理選項(即價值),我需要的。

編輯:

<?php 
// Display the normal value of "attribute" 
echo $_product->getAttributeText('attribute'); 
define(CURRENT_STORE_ID, Mage::app()->getStore()->getStoreId()); 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
// Still display the normal value "attribute" 
echo $_product->getAttributeText('attribute'); 
Mage::app()->setCurrentStore(CURRENT_STORE_ID); 
// Still display the normal value "attribute" 
echo $_product->getAttributeText('attribute'); 
?> 

預先感謝您。

回答

1

您是否嘗試過使用應用仿真?

// Switch to Admin Store 
$appEmulation = Mage::getSingleton('core/app_emulation'); 
$adminEnvironmentEmulation = $appEmulation->startEnvironmentEmulation(Mage_Core_Model_App::ADMIN_STORE_ID); 
echo $_product->getAttributeText('attribute'); 
$appEmulation->stopEnvironmentEmulation($adminEnvironmentEmulation); 

// Switch back to previous store 
echo $_product->getAttributeText('attribute'); 
+0

我沒有。我只是嘗試使用應用仿真,我仍然獲得'echo'的管理員值。無論如何感謝您的回覆! – louisfischer

+0

如果您在切換到管理存儲之前首先回顯該屬性的值,那麼您是否得到不同的值? – nano

+0

如果我在任何切換存儲或應用仿真之前echo $ _product-> getAttributeText('attribute');那麼我只會爲每個'echo $ _product-> getAttributeText('attribute');獲取正常值。奇怪,不是嗎? – louisfischer