我已经在我的项目国际化(i18n)库中集成了,我在第二段中遇到了一些问题。我有路线:
$route['^(en|ru)/services'] = 'services';
$route['^(en|ru)/services/(:any)/(:any)'] = 'services/showcat/$1/$2';
$route['^(en|ru)/services/(:any)'] = 'services/showcat/$1';
当我输入site.pc/en/services
或site.pc/en/services/private_service
时,某些链接可以完美地用于site.pc/en/services/private_service/idart
蝙蝠。我无法获得我所知道的参数,它给了我
public function showcat($idCat, $idart = '') {
echo ' id: ' . $idCat; // en
//and for http://site.pc/en/services/private_service/3
echo ' idart: ' . $idServise; // empty
}
为什么我无法获得idCat = private_service和idart = 3
如果我将数组控制器服务添加到未本地化的
//特殊URI(未本地化) var $ special = array( "信息中心&#34 ;, "设置&#34 ;, "服务" ); 在MY_Lang班,然后我得到好的参数得到idCat = private_service和idart = 3
要获取我的参数,我需要在路线第3段中添加广告
$route['^(en|ru)/services/(:any)/(:any)/(:any)'] = 'services/showcat/$1/$2/$3';
和功能
//url is site.pc/en/services/private_service/3/anyvars
function showcat($idCat, $idart = '', $k = '') {
//idCat is en
//idart is private_service
//k is 3
}
为什么第一个参数是get lang
答案 0 :(得分:0)
<强>解决!强>
似乎溃败中的第一个ID是其中一个(en | ru)所以在我的路线中它必须是那个
$route['^(en|ru)/services/(:any)/(:any)/(:any)'] = 'services/showcat/$2/$3/$4';