2010-01-11 50 views
0

我在使用其他變量鏈接某些路線時遇到問題。我正在使用通配符子域。 像這樣:http://eric.mysite.dev/mypage1 mypage1將成爲一個GET變量。所以,我要的是http://mysite.dev/donate/now/index/id/eric/pagename/mypage1帶附加變量的Zend_Controller_Router_Route_Hostname

我有沒有頁面名這樣的工作的罰款:

$router=$fc->getRouter(); 
// Host routes 
$accountHostRoute = new Zend_Controller_Router_Route_Hostname(':urlname.mysite.dev', array('module' => 'donate', 'controller' => 'now', 'action' => 'index'), array('urlname'=>'(?!www$).*') 
     ); 

     // Account routes 
     $router->addRoute('donateWithHostNameLocal', $accountHostRoute->chain(
      new Zend_Controller_Router_Route_Hostname(
       ':urlname.mysite.dev', 
       array(
        'module' => 'donate', 
        'controller' => 'now', 
        'action' => 'index' 
       ) 
      ) 
     )); 

但我也想在頁面的名字,所以我想這一點,但它不工作:

// Account dynamic pages routes 
    $router->addRoute('donateWithHostNamePageNameLocal', $accountHostRoute->chain(
     new Zend_Controller_Router_Route_Hostname(
      ':urlname.mysite.dev/:pagename', 
      array(
       'module' => 'donate', 
       'controller' => 'now', 
       'action' => 'index' 
      ) 
     ) 
    )); 

我得到的一個應用程序錯誤:消息:資源 '默認:mypage1' 未找到

堆棧跟蹤: 0 /應用程序/ MAMP /斌/ php5/lib/php/ZendFramework-1.9.6/library/Zend/Acl.php(751):Zend_Acl-> get('default:mypage1') 1/Applications/MAMP/htdocs/mysite/application/modules/default /plugins/AccessCheck.php(15):Zend_Acl-> isAllowed('guest','default:mypage1','index') 2 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/ (309):Plugin_AccessCheck-> preDispatch(Object(Zend_Controller_Request_Http)) 3/Applications/MAMP/bin/php5/lib Controller/Front.php(933):Zend_Controller_Plugin_Broker-> preDispatch(Object(Zend_Controller_Request_Http)) 4 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Application/Bootstrap/Bootstrap。 php(77):Zend_Controller_Front-> dispatch() 5 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Application.php(358):Zend _Application_Bootstrap_Bootstrap->運行() 6 /Applications/MAMP/htdocs/mysite/public/index.php(34):Zend_Application->運行() 7 {主}

請求參數: 陣列( 「控制器'=> 'mypage1', '行動'=> '指數', '模塊'=> '默認', )

回答

1

我懷疑你的ACL沒有這個資源的定義和使用自定義生成資源的邏輯。

+0

如果你寫了拋出的異常會有所幫助(Zend_Acl_Exception,Zend_Application_Exception,...) – 2010-01-11 16:42:36

+0

字符限制在這裏,所以我添加了堆棧跟蹤到我的問題。 我的訪客權限是在我的ACL模型中捐贈/ now/index 謝謝 – EricP 2010-01-11 16:54:04

+1

然後很明顯你的路線不匹配。您可以嘗試將/ *添加到最後以匹配woth參數。 – 2010-01-12 13:55:05