Yii Framework Forum: Cgridview, Buttons, Url-E Do Różnych Widoków - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cgridview, Buttons, Url-E Do Różnych Widoków Rate Topic: -----

#1 User is offline   tzoll 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 78
  • Joined: 28-February 13

Posted 05 April 2013 - 06:23 AM

Witam
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.

http://pastebin.com/fcUZzMd4


Dzięki za pomoc
Tomek
0

#2 User is offline   .viktor. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 97
  • Joined: 25-August 10
  • Location:Sokołów Podlaski, Poland

Posted 05 April 2013 - 06:44 AM

Cześć,
Jeżeli dobrze zrozumiałem to możesz przekazać nazwę kontrolera lub akcji tak:

//nazwa kontrolera
Yii::app()->controller->id
//nazwa akcji
Yii::app()->controller->action->id

0

#3 User is offline   tzoll 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 78
  • Joined: 28-February 13

Posted 05 April 2013 - 07:10 AM

View Post.viktor., on 05 April 2013 - 06:44 AM, said:

Cześć,
Jeżeli dobrze zrozumiałem to możesz przekazać nazwę kontrolera lub akcji tak:

//nazwa kontrolera
Yii::app()->controller->id
//nazwa akcji
Yii::app()->controller->action->id



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 ...
0

#4 User is offline   .viktor. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 97
  • Joined: 25-August 10
  • Location:Sokołów Podlaski, Poland

Posted 05 April 2013 - 09:20 AM

No to może tak:

//zapis do zmiennej np w obserwatorze
Yii::app()->params['abc'] = 123;
//odczyt w widoku
Yii::app()->params['abc']

musisz mieć w main.php skonfigurowaną tablicę params. Więcej na temat params http://www.yiiframew...-exists-at-all/
0

#5 User is offline   aquasite.pl 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 18
  • Joined: 20-May 11

Posted 05 April 2013 - 03:35 PM

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';

        

W widoku będziesz mógł wykorzystać $data[link].

Daj znać czy zadziałało bo sam nie mam pewności
Posted Image
Agencja interaktywna Itzen.pl
Informatyczne rozwiązania dla firm.
Programowanie, Pozycjonowanie, Testy A/B, Reklama.
0

#6 User is offline   tzoll 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 78
  • Joined: 28-February 13

Posted 08 April 2013 - 06:02 AM

Dzięki za wasze wszystkie wskazówki i podpowiedzi. Jeśli ktoś jest zainteresowany, odpowiedź umieściłem w tym wątku: http://www.yiiframew...__1#entry199977

Pozdrawiam
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users