3

こんにちは、magento でクエリ文字列を作成したいと考えています。私は試した

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

私はURL 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/

必要な URL を取得するにはどうすればよいですか。出来ますか

4

2 に答える 2

4

次のように、Magento で url クエリ文字列パラメーターを追加することもできます。

$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

于 2013-01-25T17:02:40.030 に答える
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 は、コードによって生成された URL からこれらの値を取得します。

于 2012-09-20T09:42:16.927 に答える