$This->Createurl

Всем дорого времени суток. Подскажите пожалуйста как передать адрес текущей страницы в контроллер, т.е. есть представление view, в нем форма, мне нужно передать url текущей страницы в action контроллера.

Копайте в сторону Yii::app()->createUrl() (см также CHtml::normalizeUrl)

А вообще пустой action формы автоматически означает текущую страницу.

Ничего не понял если честно :blink:

Можете расписать более подробно зачем это нужно? Вообще URL возвращает такой вот запрос:




Yii::app()->getRequest()->getUrl()



А вообще ваш URL будет baseUrl/controller/action/?..

Именно, нужно вытянуть адрес текущей страницы, точнее вытянуть то я его вытянул с помощью


$this->createUrl('', $_GET);

, но мне нужно отправить этот url в action контроллера

Нужно это для того чтоб отправить адрес текущей страницы на email, т.е. на странице есть форма, при отправке данные которые ввел пользователь отправляются на email+нужно туда же отправить и адрес страницы с котторой был отправлен запрос, как-то так :blink:

Yii::app()->getRequest()->getUrl(); возвращает имя контроллера и action, а мне нужно передать в action именно адрес страницы с которой отправлен запрос, к примеру http://site.ru/products/test.html




Yii::app()->homeUrl.Yii::app()->getRequest()->url;

//извиняюсь опечатался ранее

Yii::app()->homeUrl.Yii::app()->getRequest()->getRequestUri();



Тогда как то так.

Все равно получаю имя контроллера и action. Правда я в контроллере пишу:




public function actionSend() {

	        $model=new Products;

		if(isset($_POST['Products']))

		{

			echo Yii::app()->getRequest()->getRequestUri();

			exit();

                }

}



Получаю /products/send, а нужно http://site.ru/products/test.html Наверное я чего-то не так делаю :(

Yii::app()->homeUrl вернет вам http://site.ru/ а Yii::app()->homeUrl.Yii::app()->getRequest()->getRequestUri(); то что вам нужно

В том то и дело что оно возвращает /products/send :blink:

Я думаю чуть по другому сделать. В layout(views.php) есть нужная мне строка $model->alias, только вот как ее передать в контроллер, я тоже хз, как не пробовал - ничего не передается вообще :(




Yii::app()->getRequest()->getUrl() - /index.php?r=site/index&x=1

Yii::app()->getRequest()->getHostInfo() - http://my-domain.local

Yii::app()->getRequest()->getRequestUri() - /index.php?r=site/index&x=1

Yii::app()->getRequest()->getQueryString() - r=site/index&x=1

Yii::app()->getRequest()->getPathInfo();//  - /site/index

Yii::app()->request->getUrlReferrer(); // Возвращает чпу или url предыдущей страницы

Найдено на просторах тырнета, может кому пригодится. Вопрос решен, всем спасибо за помощь, тему можно закрывать. :rolleyes: