我需要檢查訪問者是否是第一次在網站上顯示與國家選擇(商店)的區塊。然後,我需要將訪問者的選擇保存在Cookie中(我認爲將它保存在Cookie中是正確的)。也許有人這樣做,或者可以幫忙?Magento。在Cookies中保存訪客商店選擇
謝謝。
我需要檢查訪問者是否是第一次在網站上顯示與國家選擇(商店)的區塊。然後,我需要將訪問者的選擇保存在Cookie中(我認爲將它保存在Cookie中是正確的)。也許有人這樣做,或者可以幫忙?Magento。在Cookies中保存訪客商店選擇
謝謝。
當用戶登錄頁面時,檢查是否設置了cookie,然後根據cookie值重定向到商店視圖。
我對magento很陌生,所以可能有更好的方法來做到這一點,但我需要類似的東西。
我在彈出窗口中有一個選擇框,當用戶登陸頁面列出了所有的商店視圖(這是在index.php中,只顯示cookie未設置時),更改值表單提交,然後我做在head.php文件的底部以下
if(isset($_POST['selectbox'])){
$storeId = $_POST['selectbox'];
$store_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).$storeId;
$cookie = Mage::getModel('core/cookie');
$period = time()+86400;
$cookie->set('country', $storeId,$period, '/');
Mage::app()->getResponse()->setRedirect($store_url);
}
所以表單提交後,我抓起店內碼值和設定一個cookie命名的國家,我然後重定向用戶到特定的存儲視圖。
我當時也這段代碼的下方另一個檢查,看是否該國的cookie設置(以備下一次用戶訪問網站時)
if(isset($_COOKIE['country'])){
$storeId = $_COOKIE['country'];
$magento_store_id = Mage::app()->getStore()->getCode();
$redirect_to = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).$storeId;
if($storeId != $magento_store_id)
{
echo "<script type='text/javascript'>window.location.href='".$redirect_to."';</script>";
}
我檢查,看看是否當前存儲代碼不等於存儲在cookie中的值,如果不存在,則將該用戶重定向到正確的存儲視圖。我不得不使用JavaScript重定向,因爲標題已經輸出錯誤..
希望這會給你一些想法和如何使用cookie ..但就像我說我想象有一個更好的方式做到這一點。我很樂意看到正確的做法,我自己說實話,所以我可以利用它。
永遠不會使用$ _POST ['selectbox']是Magento.It將繞過Magento的所有安全邏輯,因此將容易受到黑客攻擊。 – oscprofessionals
嗨Satish,那該怎麼辦?你能否提供上述例子的修改後的代碼,供其他人使用。謝謝 – iSrini