Link Cgridview

mohon bantuannya dong agan agan.bagaimana melempar link dalam cgridview ke halaman yang menampilkan informasi untuk satu baris cgridview yang diklik, tapi berdasarkan id dan field "jenis surat".karna setiap jenis surat punya tampilan halaman yang berbeda.saya bingung gimana logika lempar halaman di controllernya.kayak gini gambarannya gan…mohon bimbingan dan pencerahannya gan.terimakasih

wadduh…nothing response :unsure:

iya, kalo nggak salah di CColumnButton nggak bisa passing nilai dari variabel $data ya (CMIIW), kalo bisa masalah ini sebenernya gampang, tinggal a hrefnya dibuatkan url dengan nilai dari id aja (jenis suratnya emang perlu? kalo jenis surat bisa diambil waktu findByPk($id) kayaknya nggak usah dipassingin jenis suratnya)

akhirnya ada yang meresponse.makasih agan daudtm :lol:

awalnya emang ane make url nilai id aja gan.tapi ya itu larinya jadi ke satu halaman yang sama.pengennya ane sebenernya lempar ke halaman yg beda sesuai jenis suratnya (halaman memo, halaman disposisi & halaman naskah masuk) karena tampilan halamannya berbeda…atau nggak apa lempar ke satu halaman yang bisa dikondisikan.jadi tampilannya disesuaikan.tapi ane bingung juga buatnya gimana gan.hhe…menurut agan baiknya gimana ya gan? mohon bimbingannya ;D

ya, dua2 pendekatannya valid, kalo yg sekarang, jenis surat itu hanya field aja? atau masing2 jenis surat disimpen sebagai table yg berbeda? Kalo yg pertama, pendekatan 1 halaman landing lalu diredirect ke halaman (ato protected function) yg bakal ngerender view halaman sesuai masing2 jenis mungkin cukup baik. Tapi kalo masing2 jenis surat di table beda2 otomatis mungkin modelnya juga beda2 ya bagus pake pendekatan banyak halaman sekaligus, dan dari halaman listing diatas udah dibeda2in urlnya,




 'type'=>'raw',

 'value'=>'CHtml::link("lihat", $data->jenis_surat=="memo" ? "/urlnya/memo/$data->id" : "/urllain/$data->id");',



bisa dilihat klo pake pendekatan diatas bikin nested ternary operatornya yg bikin bingung, saya lebih suka yg codenya lebih gampang dibaca, mungkin pke bantuan javascript:




 'type'=>'raw',

 'value'=>'CHtml::link("lihat", "#", array("class"=>"redirector", "data-tipe"=>$data->jenis_surat, "data-id"=>$data->id);',


......

Yii::app()->clientScript->registerScript('redirection-link',

'

 $(".redirector").click(function(ev) {

  ev.preventDefault();

  if ($(this).attr("data-tipe") == "memo") {

    document.location.href = "/urlnya/memo".$(this).attr("data-id");

  } else {

    //dst

  }

 });

');



jenis surat hanya field di "tabel naskah" gan.ngambil id_jenissuratnya nya dari "tabel jenis surat"

ane coba script kayak agan diatas tapi belum berhasil gan…nggak muncul apa apa.maap ya gan ane banyak tanya.soalnya masih bingung gan :unsure:

akhirnya berhasilnya make begini gan :




array(    

	    'header'=>'View Naskah',

            'name'=>'aksi',

            'type'=>'raw', //because of using html-code from the rendered view

            'value'=>'CHtml::link("Lihat", array("/naskah/".$data->idJenissurat->jenis_surat."/$data->id_naskah/"))',

        ),



hhe…makasih ya gan bantuan dan pencerahannya ;D

ok, same2, glad it works :)