Reputation: 1919
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?
Upvotes: 7
Views: 27215
Reputation: 2710
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>
.
Upvotes: 1
Reputation: 2039
$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
Upvotes: 2
Reputation: 2807
If your current scope is a controller action, you can do this:
$uri = $this->view->serverUrl() . $this->view->url();
Upvotes: 5
Reputation: 238957
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.
Upvotes: 22