我不知道如何描述我的问题。首先我在CCGridview添加一个按钮:如何从以前的Yii视图中获取价值
array(
'class'=>'CButtonColumn',
'template' => '{view}{update}{delete}{upload_image}',
'buttons' => array(
'upload_image' => array(
'label' => 'upload foto',
'url' => 'Yii::app()->createUrl("/image/create",
array("product_id" => $data->product_id))',
),
),
),
当我点击它会带我到/图像/创建视图具有PRODUCT_ID值。例如对gridview的我点击记录编号7,所以链接将是:
(web应用)/index.php/image/create?product_id=7
由于呈现的局部_form所以表单具有根据具有以下属性的图像表的属性:id,title,filename,product_id。
所以认为会是这样的:
<div class="row">
<?php echo $form->labelEx($model,'title'); ?>
<?php echo $form->textField($model,'title',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($model,'title'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'filename'); ?>
<?php echo $form->fileField($model,'filename',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($model,'filename'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'product_id'); ?>
<?php echo $form->textField($model,'product_id'); ?>
<?php echo $form->error($model,'product_id'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
我的问题是,我们如何使用从我之前提到的是7(../create?product_id=7)到URL中的价值product_id属性,而不必在提供的textField上键入它?
在其他的话,我会从视图中删除此:
<div class="row">
<?php echo $form->labelEx($model,'product_id'); ?>
<?php echo $form->textField($model,'product_id'); ?>
<?php echo $form->error($model,'product_id'); ?>
</div>
但是,当我提交表单(7)应该已经过去了/保存在的product_id字段的值。
补充: 我控制器actionCreate是
//...
public function actionCreate()
{
$dir = Yii::app()->basePath . '/../productimages/';
$uploaded = false;
$model=new Image();
if(isset($_POST['Image']))
{
$model->attributes=$_POST['Image'];
$tempSave=CUploadedFile::getInstance($model,'filename');
if($model->validate())
{
$uploaded = $tempSave->saveAs($dir.'/'.$tempSave->getName());
$this->redirect(array('/products/index'));
}
}
$this->render('index', array(
'model' => $model,
'uploaded' => $uploaded,
'dir' => $dir,
));
}
就是这样。非常感谢..
显示我们的控制器动作,因为这是你需要initalize变量。 – Pentium10 2014-09-05 17:11:03
@ Pentium10在那里我添加了我的控制器 – JoenMarz 2014-09-05 18:38:12