Mam pytanie, jak mogę wygenerować url-e do przycisków w cgridview, które nie będą wpisane "na sztywno". Chodzi mi o to, że załóżmy mam kontroler Obserwacje, w którym wyświetlam obserwacje z innych kontrolerów, np. ObserwacjePtaki, ObserwacjeSsaki. W przypadku gdy rekord należy do ObserwacjePtaki, wygenerowany url w buttonie powinien być np: birds/view/id/, analogicznie - wgdy mam rekord w kontrolerze ssaki, chcę wygenerować taki link: mammals/view/id. Wiem, że mój opis wydawaj się może skomplikowany, więc ponieżej wkleiłem pastebin z moim kodem.
Tak Viktor,dzięki za odpowiedź, w ten sposób mogę wyświetlić nazwę kontrolera, ale będzie to nazwa aktualnie wywołanego kontrolera (z którego wyświetlony jest widoczny na ekranie widok). Ja zaś chcę wyświetlić linki do akcji w innych kontrolerach i wtedy to rozwiązanie się nie sprawdzi …
Myślę, że w obu modelach możessz dodać funkcję zwracającą właściwy link
public function getLink()
{
return 'observationsBirds/view lub observationsMammals/view'; //lub cały link z użyciem createUrl lub CHtml i $this->id
}
//lub prościej
public link = 'observationsBirds lub observationsMammals';