0

在创建管理页面时,如何在 yii 框架中添加按钮并为其编写自己的操作代码?我在视图文件中的代码是:

<?php echo CHtml::beginForm('Protected/GreetingsController/actionSubmit','get');?>
<?php echo CHtml::submitButton('submit',array('SiteController'=>'actionIndex'));?>
<?php echo CHtml::endForm(); ?>
4

2 回答 2

2

CHtml::beginForm()只会将<form>标签添加到您的 HTML 中。您需要了解 CHtml 函数如:button()、link()、ajaxButton() ...等是使用属性(例如$htmlOptions数组)作为满足您需要的选项来生成一些 HTML。

action对于这种情况,如果您想在某些地方精确地指向,controller您可以使用一个名为beginWidget的方法,如下所示:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'login-form',
    'action' => "/controller-name/action-name",
  )
);?>

<?php echo CHtml::submitButton('Save'); ?>

<?php $this->endWidget(); ?>

触发时的 button() 将发送到指定的action.

于 2012-09-26T12:18:16.293 回答
0

当您在 yii 框架上工作时,控制器负责显示视图页面。现在您看到了一个表单,并且您想向该表单添加操作。您转到该特定控制器并在此处调用该表单视图。

例如。你有一个注册表在这里。

<h2>Registration Form</h2>
<div class="form">
<?php echo CHtml::beginForm(); ?>

    <?php echo CHtml::errorSummary($model); ?>
<div class="row">
        <?php echo CHtml::activeLabel($model,'User Name'); ?>
        <?php echo CHtml::activeTextField($model,'username') ?>
    </div>

    <div class="row">
        <?php echo CHtml::activeLabel($model,'email'); ?>
        <?php echo CHtml::activeTextField($model,'email') ?>
    </div>

    <div class="row">
        <?php echo CHtml::activeLabel($model,'password'); ?>
        <?php echo CHtml::activePasswordField($model,'password') ?>
    </div>

    <div class="row">
        <?php echo CHtml::activeLabel($model,'Retype Password'); ?>
        <?php echo CHtml::activePasswordField($model,'retypepassword') ?>
    </div>

    <div class="row submit">
        <?php echo CHtml::submitButton('Register'); ?>
    </div>

    <?php echo CHtml::endForm(); ?>
</div><!-- form -->

现在我没有在查看注册表单页面中插入任何操作。

现在我可以将此表单访问到我想要的任何控制器。

<?php
class yourController extends Controller
{
    public  function actionIndex() {

        $model = new RegisterForm ;
        $this->render('register',array('model'=>$model));
    }
}

现在你可以随心所欲地做所有事情......

您应该需要添加模型,因为如果您没有添加模型类,那么我会给出错误。

你可以看到 yii 给出的完整文档,这样你就很容易理解了。

关联。 http://www.yiiframework.com/doc/guide/1.1/en/form.model

谢谢

于 2013-11-01T07:45:44.997 回答