Я уже собираюсь начать использовать простую строку GET.
Или я не очень хорош в настройке маршрутов? :)
И настройка маршрутов с помощью регулярных выражений в .htaccess
foreach($links as $a)
{
$Router->addRoute($a['link'],
new Zend_Controller_Router_Route(
$a['link'] . '/:page/:ad_id/:photo/:price_from/:price_to/:regions/:rajoni/:towns/:pagasti/:gadi_from/:gadi_to/:augums_from/:augums_to',
array
("page" => 1,
"ad_id" => 0,
"photo" => 0,
"price_from" => 0,
"price_to" => 0,
"regions" => 'def',
"rajoni" => 'def',
"towns" => 'def',
"pagasti" => 'def',
"gadi_from" => 'def',
"gadi_to" => 'def',
"augums_from" => 'def',
"augums_to" => 'def',
"department" => $a['department'],
"category" => '',
"link" => $a['link'],
"controller" => "ads",
"action" => "view",
)));
}
Пожалуйста, помогите мне найти правильный способ использования Zend Framework Routes
После редактирования:
Кстати, можно ли переключаться между категориями, чтобы связать с ними маршрут?
Значит, URL могут быть читаемыми человеком?
Или лучше придерживаться конфигурации файла .htaccess? Но я до сих пор не понял, как сделать удобочитаемые URL-адреса без добавления номера для категорий в регулярное выражение.
RewriteRule ^.*-d([0-9]+)/.*-c([0-9]+)/page-([0-9]+)/?$ index.php?DepartmentId=$1&CategoryId=$2&Page=$3 [L]
RewriteRule ^.*-d([0-9]+)/.*-c([0-9]+)/?$ index.php?DepartmentId=$1&CategoryId=$2 [L]
Единственный способ, который я выяснил, - передать фактическое имя категории в качестве значения и сравнить его на стороне сервера с массивом имен категорий.
Или есть лучший способ?