我对YII及其扩展非常陌生。。。我正在尝试创建一个基本的登录小部件作为扩展,这样我就可以重用它…
下面的人认为我已经做到了。
在extensions/widget/login/views/hloginForm.php中创建一个小部件视图,代码为
<?php echo CHtml::beginForm($this->url, 'post', $this->htmlOptions); ?>
<div class="form header">
<table>
<tr>
<td>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username',array('class'=>'txt')); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row rememberMe">
<?php echo $form->checkBox($model,'rememberMe'); ?>
<?php echo $form->label($model,'rememberMe',array('class'=>'dull')); ?>
<?php echo $form->error($model,'rememberMe'); ?>
</div>
</td>
<td>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password',array('class'=>'txt')); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'Forget Password?',array('class'=>'dull')); ?>
</div>
</td>
<td>
<div class="row"> </div>
<div class="row">
<?php echo CHtml::submitButton('Login',array('class'=>'logbtn')); ?>
</div>
</td>
</tr>
</table>
并在主窗口小部件文件夹中创建了一个Login.php(即:application/extensions/widget/login/login.php),代码如下:
<?php
class Login extends CWidget
{
public function run()
{
$this->render('hloginForm');
}
}
?>
并在config/main.php 中将所有扩展设置为自动加载
作为
'import'=>array(
...
'application.extensions.*',
),
然后尝试在我的网页视图文件中使用它作为
小工具("登录");?>这给了我这个错误
报价
include(Login.php)[function.include]:无法打开>流:没有这样的文件或目录
告诉我怎么了???我应该怎么做才能在我的页面中获得我的小工具。
有一次我试过这个
$this->widget('application.extensions.widget.login.Login', array());
我收到这个错误
报价
别名"application.extensions.widget.login.login"无效。确保它指向一个>现有的PHP文件,并且该文件可读。
更改扩展文件夹的访问权限可以解决此问题。在那之后,它如预期的那样工作良好。