Ścieżki Do Kontrolerów Podczas Tworzenia Akcji I Linków

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

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.



Przerzuca do adresu group/generatePdf

Dokładnie tak samo wpisuje i źle to linkuje

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.

No i możesz spróbować, zrobić tak:




CHtml::beginForm($this->createUrl('group/generatePdf'),'post',array('target'=>'_blank'));



Proponuje ustawić vhost-a lub ewentualnie w .htaccess dodać


RewriteBase /yii/

. To powinno rozwiązać twój roblem.