Saya tidak berpikir ada cara 'built-in' untuk mencapai ini.
Metode Mage_Catalog_Model_Url::getUrl()
ini tidak menerima parameter apa pun. Anda dapat mengganti metode, tetapi kecuali jika Anda membutuhkan sesuatu seperti ini untuk semua kategori saya tidak melihat titik untuk melakukannya.
Saya pikir cara termurah adalah menambahkan parameter secara langsung.
$params = array('param1' => 'myparam1','param2' => 'myparam2');
$categoryUrl = Mage::getModel('catalog/category')->load(1)->getUrl();
$urlParams = array();
foreach ($params as $name=>$value){
$urlParams[] = $name.'='.urlencode($value);
}
$urlParams = implode('&', $urlParams);
if ($urlParams){
$glue = '?';
if (strpos($categoryUrl, $glue) !== false){//this should never happen - but just in case
$glue = '&';
}
$categoryUrl .= $glue.$urlParams;
}
Anda bisa menjadikan ini sebagai metode dalam helper untuk menghindari penulisan kode setiap kali Anda membutuhkannya.
Untuk url lain apa pun yang Anda buat, Mage::getUrl()
Anda dapat meneruskan params query seperti ini:
$url = Mage::getUrl('module/controller/action', array('param1'=>'val1', '_query'=>array('p1'=>'v1', 'p2'=>'v2')));
kode di atas akan menghasilkan yang berikut:
http://mysite.com/module/controller/action/param1/val1/?p1=v1&p2=v2