У меня вопрос по поводу Zend_Controller_Router.Я использую модульную структуру в своем приложении.Приложение построено на Zend-Framework.Обычные маршруты выглядят следующим образом:
/modulename/actionname/
Поскольку я всегда использую IndexController в своих модулях, указывать его в URL не обязательно.Теперь я могу добавлять параметры следующим образом:
/modulename/actionname/paramkey/paramvalue/paramkey/paramvalue
Так что это нормально в ZF, я думаю.Но в некоторых случаях я не хочу указывать paramkey в URL.Например, я хочу, чтобы заголовок блога отображался в URL.Конечно, это предназначено для SEO:
/blog/show/id/6/this-is-the-blog-title
В этом случае blog
- это модуль, show
- это действие.id
- это paramkey, а 6
- это идентификатор поста, который я хочу показать.this-is-the-blog-title
- это, конечно, заголовок поста с идентификатором 6
.Проблема в том, что если я использую assemble()
-метод роутера, как это:
assemble(array('module' =>'blog',
'action' => 'show',
'id' => $row['blog_id'],
$row['blog_headline_de'] . '.html'));
, то URL приводит к:
blog/show/id/6/0/this-is-the-blog-title.html
Как видите, 0
вставлено в качестве ключа.Но я хочу, чтобы этот 0 был опущен.Я попробовал это, используя blogtitle в качестве ключа, например:
assemble(array('module' =>'blog',
'action' => 'show',
'id' => $row['blog_id'],
$row['blog_headline_de'] . '.html' => ''));
Это приводит к:
blog/show/id/6/this-is-the-blog-title.html/
Теперь 0
опущено, ноУ меня есть косая черта в конце.
У вас есть какое-либо решение, чтобы получить URL без 0
в качестве ключа и без конечной косой черты?
С уважением, Алекс