私は 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>
次のようなコードを使用して、メインウィジェットフォルダー (つまり、application/extensions/widget/login/login.php) に Login.php を作成しました。
<?php
class Login extends CWidget
{
public function run()
{
$this->render('hloginForm');
}
}
?>
config/main.php ですべての拡張機能を autoload として作成しました
なので
'import'=>array(
...
'application.extensions.*',
),
次に、私のWebページビューファイルでそれを使用してみてください
widget('ログイン'); ?>これは私にこのエラーを投げます
見積もり
include(Login.php) [function.include]: 開けませんでした >stream: そのようなファイルやディレクトリはありません
何がいけないのか教えてください???自分のウィジェットを自分のページに表示するにはどうすればよいですか。
そして一度私はこれを試しました
$this->widget('application.extensions.widget.login.Login', array());
このエラーが発生しました
見積もり
エイリアス「application.extensions.widget.login.Login」は無効です。>既存の PHP ファイルを指しており、そのファイルが読み取り可能であることを確認してください。