Учу Phalcon, и сразу же возник вопрос-проблемка с роутингом.
хочу чтобы по урлу:
/product/{id}-{title}
шло обращение к методу showAction у ProductController с передачей туда id и title, который будет выгружать из базы продукт с id={id}
например
site.ru/product/1022-notebook-samsung-gs5411-white
id = 1022
title = notebook-samsung-gs5411-white
но проблема в следующем. роутинг работает как /controller/action и ему все равно на мои {id}
пробовал вообще выключить роутинг, все равно работает по стандартному методу. Может я его неправильно объявляю?
подскажите что не так делаю?
ProductController:
<?php
class ProductController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
echo "Главная страница продуктов";
}
/**
* Страница одного продукта
*/
public function showAction()
{
$pid = $this->dispatcher->getParam("pid");
$name = $this->dispatcher->getParam("title");
echo "Страница продукта $pid ($title)";
}
}
И собственно сам роутинг:
...
$router = new \Phalcon\Mvc\Router();
$router->add(
"/product/",
array(
"controller" => 'product',
"action" => 'index',
)
);
$router->add(
"/product/{id}-{title}",
array(
"controller" => "product",
"action" => "show",
)
);
$router->handle();
...
запрос к урлу
/product/13
выдает:
PhalconException: Action '13' was not found on handler 'product'