Zend Router kullanarak URL lokalizasyon eklemek için nasıl

1 Cevap php

Ben routes.ini bir dosyada tüm yolları, ayarlanabilecek bir Zend Framework sitesi var. Yolları şöyle:

routes.popular.route = popular/:type/:page/:sortOrder
routes.popular.defaults.controller = popular
routes.popular.defaults.action = index
routes.popular.defaults.type = images
routes.popular.defaults.sortOrder = alltime
routes.popular.defaults.page = 1
routes.popular.reqs.type = \w+
routes.popular.reqs.page = \d+
routes.popular.reqs.sortOrder = \w+

Bootstrap.php onlar okunur ve frontController eklendi:

$config = new Zend_Config_Ini(APPLICATION_PATH . ‘/config/routes.ini’);
$router = $frontController->getRouter();
$router->addConfig($config,‘routes’);

Ben örneğin www.mysite.com / tr / popüler, www.mysite.com / sv / popüler, URL'ye lokalizasyon eklemek istiyorum. Bunu yapmanın tercih edilen yolu nedir?

1 Cevap

Bu yerelleştirilmiş varsayılan yol olması iyi bir fikir, bu yüzden aşağıdaki yapılandırma öneririm:

routes.default.route = :lang/:controller/:action
routes.default.defaults.lang = en
routes.default.defaults.controller = default
routes.default.defaults.action = index

routes.popular.route = :lang/popular/:type/:page/:sortOrder
routes.popular.defaults.lang = en
routes.popular.defaults.controller = popular
routes.popular.defaults.action = index
routes.popular.defaults.type = images
routes.popular.defaults.sortOrder = alltime
routes.popular.defaults.page = 1
routes.popular.reqs.type = \w+
routes.popular.reqs.page = \d+
routes.popular.reqs.sortOrder = \w+