Yii Framework Forum: linkButton w ClistView nie działa prawidłowo - Yii Framework Forum

Jump to content

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

linkButton w ClistView nie działa prawidłowo Rate Topic: -----

#1 User is offline   Emem 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 11-May 12

Posted 11 May 2012 - 02:31 AM

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
0

#2 User is offline   raydeal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 21-January 12
  • Location:Southern Poland

Posted 15 May 2012 - 02:08 AM

Witaj,

Gdybys podal fragment kodu z ktorym masz problem to byloby latwiej cos poradzic :)
0

#3 User is offline   Emem 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 11-May 12

Posted 15 May 2012 - 06:12 AM

Przepraszam ;), już podaję kod

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

#4 User is offline   raydeal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 21-January 12
  • Location:Southern Poland

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

#5 User is offline   raydeal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 21-January 12
  • Location:Southern Poland

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

#6 User is offline   Emem 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 11-May 12

Posted 16 May 2012 - 02:58 AM

View Postraydeal, 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.


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 ;)
0

#7 User is offline   raydeal 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 21-January 12
  • Location:Southern Poland

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