Witam,
Używam CListView do wyświetlania komentarzy do zatwierdzenia. Za pomocą linkButton'ów chciałem zatwierdzać lub odrzucać komentarze. Wszystko działa dobrze na pierwszej stronie CListView. Po przejściu na 2 stronę, aktualizuje się treść ClistView, ale nie aktualizują się linki linkButton'ów (są takie same jak były na pierwszej stronie). Może ktoś wie jak rozwiązać ten problem?
Z góry dziękuję za pomoc
Page 1 of 1
linkButton w ClistView nie działa prawidłowo
#2
Posted 15 May 2012 - 02:08 AM
Witaj,
Gdybys podal fragment kodu z ktorym masz problem to byloby latwiej cos poradzic
Gdybys podal fragment kodu z ktorym masz problem to byloby latwiej cos poradzic
#3
Posted 15 May 2012 - 06:12 AM
Przepraszam
, już podaję kod
_view.php
Problem leży chyba w komponencie CListView a dokładnie w paginacji CListView, bo przejście na 2 stronę komentarzy powoduje dynamiczne i poprawne załadowanie treści dla poszczególnych komentarzy, ale ulr'e do linkButtonów się nie zmieniają bo są zapisane na stałe w JavaScripcie.
Nie wiem czy można to jakoś prosto obejść.
<p>Komentarze do zatwierdzenia:
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'application.modules.admin.views.komentarze._view'
));
_view.php
<b>Artykuł:</b>
<?php echo CHtml::encode($data->artykuly->tytulnr); ?>
<br />
<b><?php echo CHtml::encode($data->getAttributeLabel('status')); ?>:</b>
<?php [b]echo CHtml::linkButton('Zatwierdź', array(
'submit'=>array('komentarze/approve','id'=>$data->id),
));[/b] ?>Problem leży chyba w komponencie CListView a dokładnie w paginacji CListView, bo przejście na 2 stronę komentarzy powoduje dynamiczne i poprawne załadowanie treści dla poszczególnych komentarzy, ale ulr'e do linkButtonów się nie zmieniają bo są zapisane na stałe w JavaScripcie.
Nie wiem czy można to jakoś prosto obejść.
#4
Posted 15 May 2012 - 07:54 AM
Byc moze w tym komponencie takich linkow nie da sie w taki sposob umiescic. Podobny problem wystepuje w CGridView ale da sie to zrobic. Sprawdze wieczorem w czym problem bo teraz nie pamietam jak to rozwiazalem w CGridView a dostepu do tego kodu teraz nie mam.
#5
Posted 15 May 2012 - 09:12 AM
Rozwiazalem to w ten sposob ze w widoku mam zmienna i tworze url np:
$link_url = $this->createUrl(......);
a potem odwoluje sie do tej zmiennej w twoim przypadku byloby:
CHtml::linkButton('Zatwierdź', array('submit'=>$link_url));
U siebie nie tworze linkButton tylko zwykly link ale mysle ze to rozwiazanie moze pomoc.
$link_url = $this->createUrl(......);
a potem odwoluje sie do tej zmiennej w twoim przypadku byloby:
CHtml::linkButton('Zatwierdź', array('submit'=>$link_url));
U siebie nie tworze linkButton tylko zwykly link ale mysle ze to rozwiazanie moze pomoc.
#6
Posted 16 May 2012 - 02:58 AM
raydeal, on 15 May 2012 - 09:12 AM, said:
Rozwiazalem to w ten sposob ze w widoku mam zmienna i tworze url np:
$link_url = $this->createUrl(......);
a potem odwoluje sie do tej zmiennej w twoim przypadku byloby:
CHtml::linkButton('Zatwierdź', array('submit'=>$link_url));
U siebie nie tworze linkButton tylko zwykly link ale mysle ze to rozwiazanie moze pomoc.
$link_url = $this->createUrl(......);
a potem odwoluje sie do tej zmiennej w twoim przypadku byloby:
CHtml::linkButton('Zatwierdź', array('submit'=>$link_url));
U siebie nie tworze linkButton tylko zwykly link ale mysle ze to rozwiazanie moze pomoc.
Niestety, też nie działa. LinkButton wstawia fragment Javascriptu:
$('body').on('click','#yt0',function(){jQuery.yii.submitForm(this,'/komentarze/approve/id/46',{});return false;});Paginacja CListView nie potrafi tego zmienić, zmienia tylko treśc poszczególnych wpisów.
Sprawę załatwiłem tak:
echo CHtml::link('Zatwierdź',
Yii::app()->createUrl('#'), array(
'onclick' => 'jQuery.yii.submitForm(this,"'.Yii::app()->createUrl('komentarze/approve',array('id'=>$data->id)).'",{});return false;' ,
)
) ?>Nie jest to zbyt eleganckie, ale działa
#7
Posted 16 May 2012 - 07:29 AM
Zrobilem dzisiaj test i niestety musze sie z Toba zgodzic - nie dziala i wyglada na to ze jest to niedorobka komponentu CListView 
Zdaje sie, ze planowali to poprawic w wersji 1.1.10 (https://github.com/y.../yii/issues/148) ale nie poprawili.
Zdaje sie, ze planowali to poprawic w wersji 1.1.10 (https://github.com/y.../yii/issues/148) ale nie poprawili.
Share this topic:
Page 1 of 1

Help











