मुझे Zend_Navigation, Zend_Translate और रूटिंग की आवश्यकता के संयोजन के साथ कुछ कठिनाइयों का सामना करना पड़ रहा है।Zend_Translate - Zend_Navigation और रूटिंग संयोजन समस्या!
मेरी साइट नेविगेशन Zend_Navigation के आधार पर और XML फ़ाइल के माध्यम से किया जाता है। मैं अब साइट 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);
अब जब मैं जाता हूं: "साइट/en/मॉड्यूल/नियंत्रक/क्रिया" यह ठीक काम करता है।
जब मैं करने के लिए जाना: "साइट/दा/मॉड्यूल/नियंत्रक/कार्रवाई" अनुवाद ठीक काम करता है, लेकिन Zend_Navigation से अपने लिंक डिफ़ॉल्ट 'en' भाषा लिंक "साइट/एन/module2 की ओर इशारा करते है/नियंत्रक 2/"
मुझे पता नहीं है कि आपकी at/da/language है। किसी भी मदद की सराहना की जाएगी।
सधन्यवाद,
मोर्टेन
आप किस यूआरएल() सहायक का उपयोग करते हैं? –
आप अपनी एक्सएमएल फाइल कैसे बना रहे हैं? –
ज़ेंड नेविगेशन के स्वचालित अनुवाद के साथ भी समस्याएं हैं - दस्तावेज़ीकरण इस पर बेकार है - या बहुत अच्छी तरह छुपा हुआ है। –