回答
你可以得到当前页面的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();
不知道你的“改变行动”的意思。你想在你回应时改变它,或者你想重定向用户。无论如何,希望这会有所帮助。
如果您当前的范围是一个控制器动作,你可以这样做:
$uri = $this->view->serverUrl() . $this->view->url();
$前=在Zend_Controller_Front ::的getInstance();
$ fullUrl ='http://'。
$ front-> getRequest() - > getHttpHost()。
$ front-> getRequest() - > getRequestUri();
不要,如果你要使用$fullUrl
为href
忘记协议(在这个例子中http://
)属性
对于该方案,您可以执行'$ front-> getRequest() - > getScheme()' – peter 2017-02-17 21:51:32
迟到了是肯定的,但在一个Zend 1以下项目的工作对我来说:
<?php echo htmlspecialchars($this->serverUrl(true)); ?>
如果你呼应了页面上的(用户自备)URL,这是一个好主意,使用用htmlspecialchars(),以避免别人送你的用户http://example.com/?q=<script>nastyBusiness()</script>
。
雅我想要显示网址时更改操作! – afsane 2011-05-08 10:56:02
@afsane。您可以按照我的写法获取当前操作和网址,并使用'str_replace'将url的部分更改为其他操作。 – Marcin 2011-05-08 10:58:41
aha,thanx很多;) – afsane 2011-05-08 11:00:48