저는 Zend_Navigation, Zend_Translate 및 필요한 라우팅의 조합에 어려움을 겪고 있습니다.Zend_Translate - Zend_Navigation 및 라우팅 조합 문제!
내 사이트 탐색은 XML 파일을 기반으로 한 Zend_Navigation을 통해 이루어집니다. 지금 Zend_Translate을 기반으로 부트 스트랩 라우팅의 변화 다음에 추가 된 사이트에 번역을 추가했습니다 :
protected function _initRoutes()
$config = new Zend_Config($this->getOptions());
$languages = array_keys($config->languages->toArray());
$zl = new Zend_Locale();
$lang = in_array($zl->getLanguage(), $languages)
? $zl->getLanguage() : 'en';
$zfc = Zend_Controller_Front::getInstance();
// add language to default route
$route = new Zend_Controller_Router_Route(
':lang/:module/:controller/:action/*',
array('controller'=>'index',
'action' => 'index',
'module'=>'default',
'lang'=>$lang));
$router = $zfc->getRouter();
$router->addRoute('default', $route);
$zfc->setRouter($router);
나는 다음 preDispatc 방법으로 View_Helper을 만들었습니다
$language = $request->getParam('lang','');
if ($language !== 'en' && $language !== 'da')
$request->setParam('lang','en');
$language = $request->getParam('lang');
if ($language == 'en')
$locale = 'en_EN';
else
$locale = 'da_DK';
$zl = new Zend_Locale();
$zl->setLocale($locale);
Zend_Registry::set('Zend_Locale', $zl);
$translate = new Zend_Translate('csv', APPLICATION_PATH . '/configs/language/'. $language . '.csv' , $language);
Zend_Registry::set('Zend_Translate', $translate);
을 이제 내가 갈 때 : "site/en/module/controller/action"잘 동작합니다. 내가 갈 때
: "사이트/다/모듈/컨트롤러/액션"번역은 잘 작동하지만 Zend_Navigation에서 내 링크는 언어 링크 "사이트/엔/모듈 2 'EN'기본 가리키는/컨트롤러 2/"
나는 당신의 at/da/언어를 알아낼 수 없다. 도움이 될 것입니다.
종류와 관련,
모르 텐이 직접 귀하의 질문에 대답하지 않습니다
url() 도우미를 사용하는 params는 무엇입니까? –
XML 파일은 어떻게 작성하고 있습니까? –
젠드 네비게이션의 자동 번역 관련 문제 -이 문서는이 문서에서 무용하다. –