get current page url and change action

2019-03-27 11:12发布

I need to give current page url and change action url. After that I want echo that in view file. I want do these in view file, not controller!

Do you have any idea?

4条回答
一夜七次
2楼-- · 2019-03-27 12:04

If your current scope is a controller action, you can do this:

$uri = $this->view->serverUrl() . $this->view->url();
查看更多
男人必须洒脱
3楼-- · 2019-03-27 12:06

You can get current page url as follows:

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

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

The view helper $this->userAgent() returns an instance of Zend_Http_UserAgent that can provide you with many useful info.

If you want to get an action in your views you can get it as follows:

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

Not sure what you mean by 'changing an action'. You want to change it when you echo it, or you want to redirect user. Anyway, hope this will help.

查看更多
干净又极端
4楼-- · 2019-03-27 12:06

Late to the party for sure, but the following worked for me in a Zend 1 project:

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

If you're echoing out the (user supplied) URL on the page, it's a good idea to use htmlspecialchars() to avoid someone sending your users to http://example.com/?q=<script>nastyBusiness()</script>.

查看更多
Deceive 欺骗
5楼-- · 2019-03-27 12:07

$front = Zend_Controller_Front::getInstance();
$fullUrl = 'http://' .
$front->getRequest()->getHttpHost() .
$front->getRequest()->getRequestUri();

Don't forget protocol(in this example http://) if you are going to use $fullUrl for href attributes

查看更多
登录 后发表回答