Ho ereditato una applicazione legacy, ed ora devo configurare una nuova rotta, affinche’ accetti due variabili. Per darvi maggiore contesto possibile, ci troviamo in SettingsController::listinoAction(); Ecco: vorrei che questa action accetti due variabili opzionali come categoria e prodotto.
Quel che ho fatto, e’ stato impostare una nuova rotta in questo modo:
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'http://<instance:\w+>.dotadv.com/<controller:\w+>/<action:\w+>/<category:\w+>/<product:\w+>'=>'<controller>/<action>/<category>/<product>',
),
),
successivamente, sono andato nella mia action, ma di quelle variabili nessuna traccia.
public function actionListino($category = null, $product = null)
{
var_dump($_GET);
var_dump($category);
var_dump(Yii::app()->getRequest()->getQuery('category'));
var_dump(CHttpRequest::getParam('category'));
$this->render(
'/settings/listino',
array(
'category' => $category,
'product' => $product,
)
);
}
Da tenere presente che questa action, con la rotta settings/listino/auto/mpu stampa a video
array(1) { ["auto"]=> string(3) "mpu" } NULL NULL NULL
[color="#4A4A4A"]Mentre quel che mi aspettavo vorrebbe essere il piu’ simile possibile a[/color]
array(1) { ["category"]=> string(3) "auto" , ["product"]=> string(3) "mpu" NULL NULL NULL
idee?