Yii框架为新的管理页面创建操作

时间:2012-09-26 10:14:52

标签: php yii

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

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

2 个答案:

答案 0 :(得分: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(); ?>

触发时按钮()将发送到指定的action

答案 1 :(得分: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

由于