2011-09-30 53 views
0

使用Zend Framework我想使用一個帳戶名稱(:account)作爲將調用購物籃控制器的子域名。當使用getParams()作爲索引操作時,它會顯示:account參數,但這不適用於購物籃控制器中的任何其他操作。如何在Zend Framework控制器中爲每個動作製作子域路由?

這是我目前在引導代碼:

$front = Zend_Controller_Front::getInstance(); 
    $router = $front->getRouter(); 
    $domain_name = 'domain.com'; 
    $plainPathRoute = new Zend_Controller_Router_Route_Static('');   

    $hostnameRoute = new Zend_Controller_Router_Route_Hostname(
        ':account.' . $domain_name, 
        array(
         'controller' => 'basket' 
        ) 
    ); 
    $router->addRoute('account', $hostnameRoute->chain($plainPathRoute)); 

預先感謝您的幫助和指導。

回答

0

實際上,你需要兩個chained路線:

您的子路徑
  • 負責一切的路由域後

    我用這個配置來設置此路線(雖然我映射所有子域到模塊,但我想你可以修復這個;):

    'subdomain' => array(
        'type' => 'Zend_Controller_Router_Route_Hostname', 
        'route' => ':module.localhost', 
        'chains' => array(
         'index' => array(
          'type' => 'Zend_Controller_Router_Route', 
          'route' => ':controller/:action/*' 
         ) 
        ) 
    ) 
    
  • 相關問題