Silverstripe 3 - Расширение Init() с помощью DataExtension

Я хочу перезаписать функцию init() в моем Page_controller. У меня есть DataExtension для расширения контроллера. С функцией, найденной здесь http://doc.silverstripe.org/framework/en/reference/dataextension

Но до расширения, похоже, не существует

Fatal error: Call to undefined method PageControllerExtension::beforeExtending()

Это моя функция в расширении, чтобы достичь этого

function __construct() {
        $self = $this;

       $this->beforeExtending('init', function() use ($self) {
          $themeFolder = $this->ThemeDir();
            $tweaks = 'tweaks';

            $CSSFiles = array(
                $themeFolder . '/css/layout.css'
        );

            $JSFiles = array(
             $tweaks . '/js/jquery-1.11.1.min.js',
             $tweaks . '/js/jquery.unveil.js',
             $tweaks . '/js/jquery.bxslider.js',
             $tweaks . '/js/wow.js',
                $themeFolder . '/js/load.js'
            );

            Requirements::set_combined_files_folder($themeFolder . '/combined');
            Requirements::combine_files('screen.css', $CSSFiles);
            Requirements::combine_files('screen.js', $JSFiles);
       });

       parent::__construct();
    }

где ошибка?

1 ответ

Вам нужно будет расширить Extension, а не DataExtension, если вы не расширяете объект данных.

Другие вопросы по тегам