yiiext/twig-renderer
beignWidget/endWidgetでも書けます。->こちら
ここのcreateWidget/wedgit.run は何かの役に立つ(アンチパターンとか)かもしれないので残しておきます。
検証中のコードですがおいておきます。
{% set form = this.createWidget() %} すればwidgetをあきらめなくてもよさげです。this.endWidget のかわりに form.run してます。
<h1>Login</h1> <p>Please fill out the following form with your login credentials:</p> <div class="form"> {% set form = this.createWidget('system.web.widgets.CActiveForm', { 'id':'login-form', 'enableClientValidation':true, 'clientOptions':{ 'validateOnSubmit':true, }, }) %} <p class="note">Fields with <span class="required">*</span> are required.</p> <div class="row"> {{ form.labelEx(model,'username')|raw }} {{ form.textField(model,'username')|raw }} {{ form.error(model,'username')|raw }} </div> <div class="row"> {{ form.labelEx(model,'password') |raw}} {{ form.passwordField(model,'password')|raw }} {{ form.error(model,'password')|raw }} <p class="hint"> Hint: You may login with <tt>demo/demo</tt> or <tt>admin/admin</tt>. </p> </div> <div class="row rememberMe"> {{ form.checkBox(model,'rememberMe')|raw }} {{ form.label(model,'rememberMe')|raw }} {{ form.error(model,'rememberMe')|raw }} </div> <div class="row buttons"> {{ C.html.submitButton('Login') |raw }} </div> {{ form.run }} </div><!-- form -->