1

このコードを手伝ってください:

<ul class="activity-projects">
    <?php foreach ($ownProjects as $userProject) : ?>
    <li>
        <a class="<?php echo ($userProject->id == $project_id) ? 'active' : '';?>"
            href="<?php echo Yii::app()->createUrl('user/activity', array(
                'user_id'=>$user->id,
                'project_id'=>$userProject->id,
                'date'=>$date)
            ); ?>"><?php echo $userProject->name; ?></a>
    </li>
    <?php endforeach; ?>
    <?php foreach ($projects as $userProject) : ?>
    <li>
        <a class="<?php echo ($userProject->project_id == $project_id) ? 'active' : '';?>"
            href="<?php echo Yii::app()->createUrl('user/activity', array(
                'user_id'=>$user->id,
                'project_id'=>$userProject->project->id,
                'date'=>$date)
            ); ?>"><?php echo $userProject->project->name; ?></a>
    </li>
    <?php endforeach; ?>
</ul>

を使用して、ドロップダウン リストに変更する方法CHtml::dropDownList。見てくれてありがとう!

4

3 に答える 3

1

フォームで、フォームの dropDownList() 関数を使用します。

<?php echo $form->dropDownList(
               $model,
               'project_id',
               CHtml::listData(OwnProjects::model()->findAll(),
                   'id', 'name'),
               array('empty' => '(Select project)','class'=>"form-control")
          );
?>

あなたの例から、OwnProjects はそれ自体がモデルではなく、モデルのサブセットのように見えます。クエリをカスタマイズできます

<?php echo $form->dropDownList(
               $model,
               'project_id',
               CHtml::listData(OwnProjects::model()->findAllByAttributes(array('user_id'=> Yii:app()->user->id),
                   'id', 'name'),
               array('empty' => '(Select project)','class'=>"form-control")
          );
?>
于 2015-03-16T00:36:59.807 に答える
1

まず、次のようにキーと値の配列を定義する必要があります。

$options = array();
<?php foreach ($ownProjects as $userProject) 
    array_push($options, array($userProject->id => $userProject->name));
?>

 echo CHtml::dropDownList('seletName', '1', $options);

<select>これにより、「seletcName」という名前の html タグが生成されます。また、値が「1」のオプションが選択されます。1 番目と 2 番目のパラメーターに目的の値を使用できます。また、この目的で CActiveForm#dropDownListを使用できます。

于 2015-03-15T08:00:17.083 に答える