2011-05-19 88 views
0

我設置Magento的網站有幾家店,我在做頁面中所有門店放入系統,用戶可以使用的表單如最好的辦法重定向到選定的商店

拿起最近的一個列表
<form action="<?php echo ;?>" method="post"> 
     <input type="submit" value="select store" /> 
    </form> 

    <form action="<?php echo ;?>" method="post"> 
     <input type="submit" value="select store" /> 
    </form> 

在動作屬性中,我想根據他的ID設置每個商店的網址... 這可能嗎? 有沒有更好的方法來繼續(也許避免GET參數)?

編輯: 最後我實現了我一直在尋找在這個片段中

echo '<p><a href="' . Mage::getUrl() . '?___store=' . $store . '">pick up this restaurant</a></p>'; 

這是相當接近的是什麼clockworkgeek建議

echo '<p><a href="' .Mage::getUrl('', array('___store'=>$store)) . '">pick up this restaurant</a></p>'; 

但效果型動物:

我的測試:

http://test.mysite.com/?___store=3 

clockworkgeek代碼:

http://test.mysite.com/___store/3/ 

第一個環節是工作的罰款,第二引到404一個......

我也試試這個代碼是生產什麼,任何想法,爲什麼?

Mage::app()->setCurrentStore(5); 
$this->_redirect(''); 

重定向工作正常,但我仍然在同一家商店,它是利用setCurrentStore功能的好方法嗎?

然後我終於有了這個,但我可以找到合適的例子在網上有關它... 我怎麼能使用它,以及相關的問題我怎麼能列出所有的magento控制器?

$this->_forward('defaultNoRoute'); 

THX

+0

第w''手段? – afarazit 2011-05-19 17:23:06

+0

這是一種「猜測好的代碼」到PHP的括號中,我編輯第一篇文章的更多信息 – krifur 2011-05-23 09:35:27

回答

1

也許你正在考慮getUrl()。例如:

echo Mage::getUrl('', array('_store'=>$storeId)); 

http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/geturl_function_parameters

+0

Thx,我需要改變它有點(檢查我的編輯),但我不完全滿意這個代碼,因爲它顯示在URL中的參數... – krifur 2011-05-23 09:33:54

+0

使用這種方法,你只需要一個下劃線。 – clockworkgeek 2011-05-23 10:35:05

+0

當我用一個下劃線做它時,它將我重定向到基礎URL而不更改商店... – krifur 2011-05-23 12:09:53