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

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

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

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();
}

где ошибка?

0

Решение

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]