我需要提供当前页面网址并更改操作网址。之后我想在视图文件中回显。 我想在视图文件中执行这些操作,而不是控制器!
你有什么想法吗?
答案 0 :(得分:20)
您可以按如下方式获取当前页面网址:
$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 :(得分:5)
如果您当前的范围是控制器操作,则可以执行以下操作:
$uri = $this->view->serverUrl() . $this->view->url();
答案 2 :(得分:1)
$ front = Zend_Controller_Front :: getInstance();
$ fullUrl ='http://' $ front-> getRequest() - > getHttpHost()。
前置式$> Request()方法 - > getRequestUri();
如果您要将http://
用于$fullUrl
属性
href
)
答案 3 :(得分:0)
肯定是晚会,但以下在Zend 1项目中为我工作:
<?php echo htmlspecialchars($this->serverUrl(true)); ?>
如果您在页面上回显(用户提供的)网址,最好使用htmlspecialchars()来避免有人将您的用户发送到http://example.com/?q=<script>nastyBusiness()</script>
。