Я очень новичок в 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>
and created a Login.php in main widget folder (that is : application/extensions/widget/login/login.php) with the code like :
<?php
class Login extends CWidget
{
public function run()
{
$this->render('hloginForm');
}
}
?>
и сделал все расширения автозагрузочными в config/main.php
as
'import'=>array(
...
'application.extensions.*',
),
затем попробуйте использовать его в моем файле просмотра веб-страницы как
widget('Login'); ?>это выдает мне эту ошибку
Цитировать
include (Login.php) [function.include]: не удалось открыть> поток: нет такого файла или каталога
Скажи мне, что не так??? Что я должен сделать, чтобы мой виджет появился на моей странице.
и однажды я попробовал это
$this->widget('application.extensions.widget.login.Login', array());
я получил эту ошибку
Цитировать
Псевдоним «application.extensions.widget.login.Login» недействителен. Убедитесь, что он указывает на существующий PHP-файл и этот файл доступен для чтения.
'application.extensions.*',
недостаточно. Пути Yii не являются рекурсивными, поэтому ваш класс не будет найден. Вместо этого попробуйтеapplication.extendions.widgets.login.*
. Также убедитесь, что ваш файл называетсяLogin.php
, а неlogin.php
. - person Michael Härtl   schedule 23.08.2013