Yii Framework Forum: Comment Transformer Les Rows D'une Clistview En Liens - Yii Framework Forum

Jump to content

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

Comment Transformer Les Rows D'une Clistview En Liens Rate Topic: -----

#1 User is offline   mbagiella 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 44
  • Joined: 22-July 13

Posted 24 July 2013 - 07:39 AM

Bonjour tous le monde,
je suis nouveau dans l'univers de yii, mais j'adore deja.
dans mon modèle généré j'ai la liste des utilisateurs user/index.php
par contre j'aimerai transformer cette CListView pour que quand un utilisateur clique dessus on se retrouve sur la vue de l'utilisateur concerné.

Pour l'instant voici mon ébauche de code

<?php
Yii::app()->clientScript->registerScript('search', "
$('.view').click(function(){
    location.href = "location.href = \"' . $this->createUrl('view').'/id/"+$.fn.yiiListView.getSelection(id);
    return false;
});
");
?>

<h1>Users</h1>

<?php $this->widget('zii.widgets.CListView', array(
	'dataProvider'=>$dataProvider,
	'itemView'=>'_view',
        'updateSelector'=>'search',
        'itemsCssClass' => 'userList',
    'sortableAttributes'=>array(
        'ccid',
        'username',
        'admin',
    ),


Est-ce bien dans ce sens ?
Pour l'instant je n'arrive pas à récupérer l'id et je n'arrive pas à créer le lien correctement
Merci de m'aider
0

#2 User is offline   Sebastien 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 07-February 12
  • Location:Brussels

Posted 25 July 2013 - 03:36 AM

Je pense qu'il vaut mieux générer le lien dans "_view". Pour les informations passée à la vue partielle, tu peux te référer à:

itemView
----------
Sébastien Adam
http://www.sebastienadam.be/
0

#3 User is offline   mbagiella 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 44
  • Joined: 22-July 13

Posted 25 July 2013 - 04:14 AM

View PostSebastien, on 25 July 2013 - 03:36 AM, said:

Je pense qu'il vaut mieux générer le lien dans "_view". Pour les informations passée à la vue partielle, tu peux te référer à:

itemView


Au fait non je ne veux pas avoir un lien cliquable dans _view, je voudrais que je puisse cliquer les éléments dans mon ListView.
0

#4 User is offline   Sebastien 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 07-February 12
  • Location:Brussels

Posted 26 July 2013 - 02:31 AM

View Postmbagiella, on 25 July 2013 - 04:14 AM, said:

Au fait non je ne veux pas avoir un lien cliquable dans _view, je voudrais que je puisse cliquer les éléments dans mon ListView.


Là, il va falloir que tu sois plus explicite, car je ne comprends pas trop la nuance...

Une capture d'écran peut-être?
----------
Sébastien Adam
http://www.sebastienadam.be/
0

#5 User is offline   mbagiella 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 44
  • Joined: 22-July 13

Posted 26 July 2013 - 07:21 AM

View PostSebastien, on 26 July 2013 - 02:31 AM, said:

Là, il va falloir que tu sois plus explicite, car je ne comprends pas trop la nuance...

Une capture d'écran peut-être?


Ben prenons un exemple tout simple avec la GridView

<?php
$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'traveler-grid',
    'dataProvider' => $model->search(),
    'filter' => $model,
    'selectableRows' => 1,
    'selectionChanged' => 'function(id){ location.href = "' . $this->createUrl('view') . '/id/"+$.fn.yiiGridView.getSelection(id);}',
    'columns' => array(
        'title',
        array(
            'name' => 'userId',
            'filter' => CHtml::listData(User::model()->findAll(), 'id', 'username'),
            'value' => 'User::Model()->FindByPk($data->userId)->username',
        ),
        'createTime',
        'updateTime',
        'revision',
        array(
            'name' => 'status',
            'filter' => CHtml::activeDropDownList($model, 'status', $model->statusOptions),
            'value' => '$data->getStatusText()',
        ),
        array(
            'class' => 'CButtonColumn',
            'visible' => Yii::app()->user->getState("admin") == 1,
        ),
    ),
));
?>




le fait de cliquer sur une rows ça me redirige directement sur la vue ;) grâce à ces deux lignes de code

'selectableRows' => 1,
    'selectionChanged' => 'function(id){ location.href = "' . $this->createUrl('view') . '/id/"+$.fn.yiiGridView.getSelection(id);}', 



par contre je n'ai rien trouvé de similaire avec une simple ListView
0

#6 User is offline   grandoom 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 11-July 12

Posted 30 July 2013 - 03:04 AM

en général l'accès aux id dans les _view Yii associées à des ClistView se fait à partir de la variable

$data->id


à partir de la tu devrais pouvoir l'exploiter comme bon te semble...

exemple :

génération de la ClistView (comme d'hab)
<?php $this->widget('zii.widgets.CListView', array(
        'dataProvider'=>$dataProvider,
        'itemView'=>'_view',
...



obtention simple du lien vers la vue détaillée à partir de l'id dans la _view
<?php echo CHtml::link("lienversmavuedetaillee",array("maTable/mavuedetaillee","id"=>$data->id)); ?>


en espérant avoir compris ta question... ::)
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