次のルーティング定義があります。
'admin_default' => array(
'type' => 'segment',
'options' => array(
'route' => '[/:lang]/administrator[/:module][/:action]',
'constraints' => array(
'lang' => '[a-zA-Z]{2}',
'module' => '[a-zA-Z0-9_-]*',
'action' => '[a-zA-Z0-9_-]*',
),
'defaults' => array(
'module' => 'Application',
'controller' => 'Admin',
'action' => 'index',
'lang' => 'ru'
),
),
'may_terminate' => true,
'child_routes' => array(
'wildcard' => array(
'type' => 'wildcard',
'may_terminate' => true,
'options' => array(
'key_value_delimiter' => '/',
'param_delimiter' => '/'
),
),
),
),
そのため、URL文字列のセグメント [/:lang] を取り除くことができません
例えば:
URL ビュー ヘルパー$this->url('admin_default', array('module' => 'albums'))
は、次の URL 文字列を返します。
/administrator/albums
while を$this->url('admin_default/wildcard', array('module' => 'albums', 'action' => 'edit', 'id' => album_id_here))
返します:
/ru/administrator/albums/edit/id/album_id_here
2 番目のケースで URL 文字列から [/:lang] セグメントを削除するにはどうすればよいですか?