我是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>
并在主widget文件夹中创建了一个Login.php (即:application / extensions / widget / login / login.php),代码如下:
<?php
class Login extends CWidget
{
public function run()
{
$this->render('hloginForm');
}
}
?>
并在config / main.php中将所有扩展名设为自动加载
as
'import'=>array(
...
'application.extensions.*',
),
然后尝试在我的网页视图文件中使用它
插件( '登录'); ?&GT;这给我这个错误
引用
include(Login.php)[function.include]:无法打开&gt;流:没有这样的文件或目录
告诉我什么错了???我该怎么做才能在我的页面中获取我的Widget。
一旦我尝试了这个
$this->widget('application.extensions.widget.login.Login', array());
我收到了这个错误
引用
别名“application.extensions.widget.login.Login”无效。确保它指向一个&gt;现有的PHP文件,并且该文件是可读的。
答案 0 :(得分:0)
更改扩展文件夹的“访问”权限可解决此问题。之后它按预期正常工作。