Zend_Controller_Router について質問があります。アプリケーションでモジュラー構造を使用しています。このアプリケーションは、Zend-Framework に基づいて構築されています。通常のルートは次のようになります。
/modulename/actionname/
モジュール内で常に IndexController を使用するため、URL で指定する必要はありません。これで、次のようにパラメーターを追加できるようになりました。
/modulename/actionname/paramkey/paramvalue/paramkey/paramvalue
だから、これはZFでは普通だと思います。しかし、場合によっては、URL 内に paramkey を提供したくないことがあります。たとえば、ブログのタイトルを URL 内に表示したいとします。もちろん、これは SEO を目的としています。
/blog/show/id/6/this-is-the-blog-title
この場合、blog
はモジュール、show
はアクションです。id
は paramkey で6
、表示したいブログ投稿の ID です。this-is-the-blog-title
もちろん、 id のブログ投稿の見出しです6
。問題は、assemble()
ルーターの -method を次のように使用すると、次のようになることです。
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
a がキーとして挿入されています。しかし、この0は省略してほしい。次のように、ブログタイトルをキーとして使用してこれを試しました。
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
は省略されていますが、最後にスラッシュがあります。
0
キーなしで末尾のスラッシュなしでURL を取得する解決策はありますか?
よろしく、アレックス