Yii custom Widget, ошибка загрузчика - PullRequest
1 голос
/ 15 сентября 2011

Пожалуйста, помогите мне с этой проблемой (я использую Yii, Xampp на локальном хосте Windows):

Итак ... Я создал новый виджет в "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». В чем причина этой ошибки и как ее исправить? Заранее спасибо!

1 Ответ

5 голосов
/ 15 сентября 2011

Вы используете неправильные пути. Я предлагаю вам поместить php-файл виджета в protected/components/Magus.php, а затем вы можете вызвать его из вида с помощью

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

Или вы можете сохранить его в папке, где он у вас есть, и назвать его так:

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