Переопределение стандартного метода (плагин)

Привет.
Хочу сделать плагин для аватаров, не получается переопределить стандартный метод.
Последовательность действий:
1) в паке MyPlugin создал файл MyPlugin.class.php
class PluginMyPlugin extends Plugin {
   protected $aDelegates=array(
      'entity' => array('UserEntity_User'=>'PluginMyPlugin_UserEntity_User')
   );
}
2) в папке плагина создал файл classes/module/user/entity/User.entity.class.php
require_once(Config::Get('path.root.server').'/classes/modules/user/entity/User.entity.class.php');

class PluginMyPlugin_UserEntity_User extends UserEntity_User {
    protected function getProfileAvatarPath() {
        echo 'test';
        }
    }
}

5 комментариев

avatar
Почему protected, а не public?
В версии из SVN есть поддержка наследования классов, оно будет более логичным для решения этой задачи. Описание как наследовать появится завтра, но суть будет такая же — livestreet.ru/blog/4370.html
  • ort
  • +1
avatar
protected — это копипаст какого-то примера из комментов.
Версия из SVN, к сожалению не подходит, т.к. нужно решить задачу для 0.4, это возможно?
avatar
Стянул таки версию из svn, посмотрел статью
плагин
class PluginMyPlugin extends Plugin {
    public $aInherits=array(
            'entity' => array('MyPlugin_UserEntity_User')
    );
}

в папке плагина создал файл classes/module/user/entity/User.entity.class.php
class PluginMyPlugin_UserEntity_User extends PluginMyPlugin_Inherits_UserEntity_User {
    public function getProfileAvatarPath() {
        echo 'test';
    }
}

не работает, я что-то не так понял?
avatar
  • ort
  • +2
avatar
спасибо за пример
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.