如何在magento中构建查询字符串

时间:2012-07-05 10:53:17

标签: php magento-1.6

您想在magento中构建查询字符串。我试过了

<?php 
echo $this->getUrl("catalog/category/view",
  array(
    "_use_rewrite"=>false,
    "category"=>$_category->getId(),
    "product"=>$_product->getId()
  )
);
?>

我想要网址: http://www.localhost.com/hungermunch/fujigrill/catalog/category/view?category=11&product=1 但我得到了

http://www.localhost.com/hungermunch/fujigrill/catalog/category/view/category/11/product/1/

我怎样才能获得所需的网址。是否可能

2 个答案:

答案 0 :(得分:4)

您还可以在Magento中追加url querystring params,如下所示:

$params = array(
    '_query' => array(
        'category' => $_category->getId(),
        'product'  => $_product->getId(),
    )
);

echo Mage::getUrl('catalog/category/view', $params);

以下是getUrl()方法的参考:

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

答案 1 :(得分:1)

如果要将查询字符串添加到最后,可以使用此方法:

$this->getUrl("catalog/category/view") . "?" .
http_build_query(
    "category" => $_category->getId(),
    "product"  => $_product->getId()
);

虽然我认为没有理由不使用你的第一种方法,然后在需要时从Magento获取值,例如在控制器中你可以这样做:

$productId = $this->getRequest()->getParam('product');
$categoryId = $this->getRequest()->getParam('category');
然后,Magento将从您的代码生成的网址中为您获取这些值。