2011-05-08 84 views

回答

19

你可以得到當前頁面的URL如下:

$uri = Zend_Controller_Front::getInstance()->getRequest()->getRequestUri(); 

    // or using userAgent view helper: 
    $uri = $this->userAgent()->getServerValue('request_uri'); 

$this->userAgent()返回Zend_Http_UserAgent實例,它可以爲你提供很多有用的信息的視圖助手。

如果你想在你的意見的行動,你可以得到它,如下所示:

Zend_Controller_Front::getInstance()->getRequest()->getActionName(); 

不知道你的「改變行動」的意​​思。你想在你迴應時改變它,或者你想重定向用戶。無論如何,希望這會有所幫助。

+1

雅我想要顯示網址時更改操作! – afsane 2011-05-08 10:56:02

+1

@afsane。您可以按照我的寫法獲取當前操作和網址,並使用'str_replace'將url的部分更改爲其他操作。 – Marcin 2011-05-08 10:58:41

+0

aha,thanx很多;) – afsane 2011-05-08 11:00:48

4

如果您當前的範圍是一個控制器動作,你可以這樣做:

$uri = $this->view->serverUrl() . $this->view->url(); 
1

$前=在Zend_Controller_Front ::的getInstance();
$ fullUrl ='http://'。
$ front-> getRequest() - > getHttpHost()。
$ front-> getRequest() - > getRequestUri();

不要,如果你要使用$fullUrlhref忘記協議(在這個例子中http://)屬性

+0

對於該方案,您可以執行'$ front-> getRequest() - > getScheme()' – peter 2017-02-17 21:51:32

0

遲到了是肯定的,但在一個Zend 1以下項目的工作對我來說:

<?php echo htmlspecialchars($this->serverUrl(true)); ?> 

如果你呼應了頁面上的(用戶自備)URL,這是一個好主意,使用用htmlspecialchars(),以避免別人送你的用戶http://example.com/?q=<script>nastyBusiness()</script>