I need to give current page url and change action url. After that I want echo that开发者_如何学Go in view file. I want do these in view file, not controller!
Do you have any idea?
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.
If your current scope is a controller action, you can do this:
$uri = $this->view->serverUrl() . $this->view->url();
$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
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>
.
精彩评论