Php yii生成无模型的自动表单

Php yii生成无模型的自动表单,php,yii,Php,Yii,我正在使用Yii,我正在尝试做一个自动表单生成器,我有一个字段数组,这取决于具体情况,但我不知道如何不将模型与CActiveForm一起使用,因为当我创建这样的输入(下面的代码)时,我会收到消息 "Property "cusform.hJd8tiZ7cn" is not defined." hJd8tiZ7cn是我的自定义字段的id显然这不是我的模型的属性,谢谢您的帮助 <?php //view foreach($arrfields as $af){ ?> <div

我正在使用Yii,我正在尝试做一个自动表单生成器,我有一个字段数组,这取决于具体情况,但我不知道如何不将模型与
CActiveForm
一起使用,因为当我创建这样的输入(下面的代码)时,我会收到消息

"Property "cusform.hJd8tiZ7cn" is not defined."
hJd8tiZ7cn
是我的自定义字段的id显然这不是我的模型的属性,谢谢您的帮助

<?php
//view
foreach($arrfields as $af){
?>
    <div class="row">
    <?php echo $form->labelEx($model,$af['xlabel']); ?>
    <?php echo $form->textField($model,$af['xobjectId'],array('size'=>60,'maxlength'=>128)); ?>
    <?php echo $form->error($model,$af['xobjectId']); ?>
    </div>

<?php
}
?>

使用帮助器类

调用
CHtml
要生成表单,CActiveForm的大多数方法都是CHtml中相应的“活动”方法的包装器

CActiveForm
和活动的CHtml类仅用于生成活动记录表单,即基于活动记录的表单。因为您不知道字段名,而且它们事先没有链接到DB字段,所以您只需这样做

<?php
//view
foreach($arrfields as $af):
    <div class="row">
        <?php echo CHtml::label($af['xlabel'],$af['xobjectId'] ); ?>
        <?php echo CHtml::textField($af['xobjectId'],"",array('size'=>60,'maxlength'=>128)); ?>
    </div>
<?php endforeach; ?>

这将为您生成静态字段,但它不会为您提供使用activeRecord表单的所有功能,例如验证和错误,如果您想要错误,您必须构建自己的CForm模型,以及规则和操作等,请参阅如何在不依赖active record对象的情况下使用