widget('CCaptcha') - не могу заставить работать-Заставил таки !

Может есть у кого время, глянуть в чем тут дело…

В контроллере так:


    public function actions()

    {

        return array(

             'captcha'=>array(

                'class'=>'CCaptchaAction',

                'backColor'=>0xFFFFFF,

            ),

         );

    }


[/code]

В модели так:

[code]    public $verifyCode;

    public function rules()

    {

        return array(

             ...

             ...

             ... 

             array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd'),'on'=>'register'),

        );

    }

    /**

     * Declares attribute labels.

     */

    public function attributeLabels()

    {

        return array(

             ...

             ...

             ...

            'verifyCode'=>'Verification Code',

        );

    }

В рендируемом представление так:


<div class="form">


<?php $form=$this->beginWidget('CActiveForm'); ?>


    <p class="note">Fields with <span class="required">*</span> are required.</p>


    <?php echo $form->errorSummary($model); ?>

...

...

...

    <?php if(extension_loaded('gd')): ?>

    <div class="row">

        <?php echo $form->labelEx($model,'verifyCode'); ?>

        <div>

        <?php $this->widget('CCaptcha'); ?>

        <?php echo $form->textField($model,'verifyCode'); ?>

        </div>

        <div class="hint">Please enter the letters as they are shown in the image above.

        <br/>Letters are not case-sensitive.</div>

    </div>

    <?php endif; ?>


    <div class="row buttons">

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

    </div>


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


</div><!-- form -->


Все нормально выводится, кроме кэпчи. На месте кэпчи вот это:


Verification Code *

Get a new code 


Была как-то и раньше аналогичная проблема, сам не понял как-то странно она исчезла…

Само собой ‘GD’ расширение PHP присутствует, другие программы кэпчу показывают.

Единственное отличие от примера, в котором кэпча работает:

в данном примере контроллер использует шаблон colmn2

в примере, где кэпча работает, контроллер использует шаблон column1.


[color="#FF0000"]-----------------------[/color]

[color="#FF0000"]Нашел фишку ![/color]

Может кому пригодиться, выкладываю.

Совершенно не учел, что captcha - собственно также одно из действий контроллера,

которое подчиняется правилам доступа к действиям.

Включил в контроллере доступ к этому действию captcha таким вот макаром:


array('allow',  // allow 'guest' users to perform 'register' action

                'actions'=>array('register','captcha'),

                'users'=>array('guest'),

            ),

[color="#FF0000"]и все заработало ![/color][color="#FF0000"][/color]