_chris
(_chris_)
June 6, 2013, 6:27am
1
Witam wszystkich
Jako początkujący w Yii natknąłem się na pewien problem. Mianowicie mam ustawiony urlManager i wszystko działa aż miło. Mam instalację Yii na lokalnym (wamp) w pewnym katalogu. I teraz jeśli np. tworzę formularz i wpiszę tak:
<?php echo CHtml::beginForm('group/generatePdf', 'post', array('target'=>'_blank')); ?>
to po kliknięciu przerzuca mnie do:
127.0.0.1/yii/group/print/group/generatePdf
Jeśli wpiszę:
<?php echo CHtml::beginForm('/group/generatePdf', 'post', array('target'=>'_blank')); ?>
to po kliknięciu przerzuca mnie do:
127.0.0.1/group/generatePdf
Aby zadziałało muszę pisać tak:
<?php echo CHtml::beginForm('yii/group/generatePdf', 'post', array('target'=>'_blank')); ?>
co przecież mija się z celem, bo potem przerzucę aplikację gdzie indziej i będę musiał to wszędzie zmieniać.
O co chodzi? Nie mogę z jednego widoku przedostać się do innego kontrolera.
Jeszcze jedno małe pytanie jak wydobyć w łatwy sposób główny katalog aplikacji?
Z góry dziękuję za informację.
Nie jestem pewny ale spróbuj może ‘//group/generatePdf’. Możesz tez pobawić sie z Yii::getPathOfAlias() i Yii::app()->baseUrl
viktor
(Grzegorz Wiktorowski)
June 6, 2013, 6:46am
3
Cześć w api jest napisane, że parametrem ma być "the form action URL (see normalizeUrl for details about this parameter.)"
więc wpisz tak:
<?php echo CHtml::beginForm(array('group/generatePdf'), 'post', array('target'=>'_blank')); ?>
możesz jeszcze dodać parametry get do url, np tak:
array('post/list', 'page'=>3) //wygenerowany będzie taki URL /index.php?r=post/list&page=3.
_chris
(_chris_)
June 6, 2013, 7:00am
4
Przerzuca do adresu group/generatePdf
_chris
(_chris_)
June 6, 2013, 7:00am
5
Cześć w api jest napisane, że parametrem ma być "the form action URL (see normalizeUrl for details about this parameter.)"
więc wpisz tak:
<?php echo CHtml::beginForm(array('group/generatePdf'), 'post', array('target'=>'_blank')); ?>
możesz jeszcze dodać parametry get do url, np tak:
array('post/list', 'page'=>3) //wygenerowany będzie taki URL /index.php?r=post/list&page=3.
Dokładnie tak samo wpisuje i źle to linkuje
viktor
(Grzegorz Wiktorowski)
June 6, 2013, 7:07am
6
No to wyłącz na chwilę UrlManagera i sprawdź czy bęzie ok, wydaje mi się, że tu może tkiwć problem. Jak sprawdzisz to pisz, albo przy okazji podrzuć config.php.
Ach i zapomniałem zapytać to aplikacja modułowa czy nie, bo jak masz ten kontroler w module to musisz dodać nazwę modułu w normalizeUrl .
viktor
(Grzegorz Wiktorowski)
June 6, 2013, 7:27am
7
No i możesz spróbować, zrobić tak:
CHtml::beginForm($this->createUrl('group/generatePdf'),'post',array('target'=>'_blank'));
1cichy
(Czaty)
June 6, 2013, 7:49am
8
Proponuje ustawić vhost-a lub ewentualnie w .htaccess dodać
RewriteBase /yii/
. To powinno rozwiązać twój roblem.