Здравствуйте!
Только начал изучать angularjs,
столкнулся с проблемой построения урл для локализации,
например:
/ru/
/en/
/en/about/
/en/contacts/
Стоит
angularjs 1.4.8ngRouter 1.4.8ui-router 0.2.15
Сам роутер
module.exports = App.Angular
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/' + App.Lang + '/');
$stateProvider
.state('root', {
url: '/{lang:ru|en|de}',
abstract: true,
})
.state('root.home', {
url: '/',
templateUrl: '/frontend/app/template/index.php',
controller: 'MainController',
})
.state('root.home.about', {
url: 'about/',
templateUrl: '/frontend/app/template/about.php',
controller: 'AboutController'
});
}
]);
Вроде всё логично, при урлах /ru/, /en/, /de/ должен запускаться контроллер MainController и редерить шаблон /frontend/app/template/index.php, но ничего не происходит, консоль молчит.
.state('home', {
url: '/{lang:ru|en|de}/',
templateUrl: '/frontend/app/template/index.php',
controller: 'MainController',
})
.state('home.about', {
url: 'about/',
templateUrl: '/frontend/app/template/about.php',
controller: 'AboutController'
});
Попробовал так прописать, только главная отрабатывает, а при переходе на /ru/about/ урл меняется, но срабатывает контроллер в state HOME, не пойму как тут настроить надо правильно, подскажите пожалуйста.
такое ощущение что они все наследуются, не только урлы, но и cntr, templates
PS На мануал не кидайте, английский не знаю =)