1

この問題について助けてください(私はWindowsローカルホストでYii、Xamppを使用しています):

だから...私は「protected\components \ views\Magus.php」に新しいウィジェットを作成しました。

 <?php
   class Magus extends CWidget {

   //////////////////////////////
  public function run()
  {
    echo '<p style="color:blue; ">Trallala :) !</p>'; // do something.
  }
    //////////////////////////////

 } //end class

ここで使用されます( "protected / views / layouts / main.php"):

 <?php
   $this->widget('/views/Magus');
 ?>

そして、これはローダー(?)エラーを引き起こします:

Fatal error: include() [<a href='function.include'>function.include</a>]: 
Cannot redeclare class magus in C:\xampp\htdocs\yii\framework\YiiBase.php on line 421

ただし、ウィジェットファイルが「protected \ components」に直接配置されている場合、エラーは発生しません。そのエラーの理由とそれを修正する方法は何ですか?前もって感謝します !

4

1 に答える 1

5

間違ったパスを使用しています。ウィジェットのphpファイルをに入れてprotected/components/Magus.php、ビューから呼び出すことができるようにすることをお勧めします。

$this->widget('application.components.Magus');

または、それを持っているフォルダに保存して、次のように呼び出すこともできます。

$this->widget('application.components.views.Magus');
于 2011-09-15T18:46:38.680 に答える