我正在努力从url
中恢复制造商属性本地主机/ magento的/ index.php的/测试pro.html?制造商/ 4
所以我使用$this->getRequest()->getParam('manufacturer')
我没有得到任何输出。
但当我将网址更改为 localhost / magento / index.php / test-pro.html?manufacturer = 4 时 (/替换为=),我得到适当的输出。
但是我需要的网址应该是 localhost / magento / index.php / test-pro.html?manufacturer / 4
并希望获取与该制造商ID相关的产品。
有人帮助我。
答案 0 :(得分:3)
在您的查询字符串中?manufacturer = 4 会为您提供manufacturer
的值,即4,而制造商/ 4 将为您提供无价值不被视为查询字符串。
此外,参数将是制造商/ 4 ,而不是制造商。
为了达到你的要求,你可以像下面这样做。
$currentUrl = 'localhost/magento/index.php/test-pro.html?manufacturer/4';
$parts = parse_url($currentUrl);
$val = explode('/',$parts['query']);
Mage::register('manufacturer',$val[1]);
$menuVal = Mage::registry('manufacturer');
echo $menuVal; //prints 4
这是一个示例代码,即使您使用/
代替=
,也可以通过该示例代码获取查询字符串值。