попытка загрузить файлы js и css в модуле администратора prestashop 1.7
Я учусь писать модули в prestashop 1.7, в настоящее время я пытаюсь загрузить css и js-файлы, которые будут использоваться, когда пользователь попытается настроить модуль.
это код моего модуля:
class TuxInModComments extends Module
{
function __construct()
{
$this->name = 'tuxinmodcomments';
$this->tab = 'quick_bulk_update';
$this->version = '0.1';
$this->author = 'Kfir Ozer';
$this->displayName = 'Tux-In Comments and Ranks';
$this->description = 'With this module, your costumers will be able to grade and comment your products';
$this->bootstrap = true;
parent::__construct();
}
public function install() {
parent::install();
$this->registerHook('actionAdminControllerSetMedia');
return true;
}
public function processConfiguration()
{
if (Tools::isSubmit('mymod_pc_form')) {
$enable_grades = Tools::getValue('enable_grades');
$enable_comements = Tools::getValue('enable_comments');
$csvFile = Tools::getValue('csv_file');
die(var_export($csvFile));
Configuration::updateValue('MYMOD_GRADES', $enable_grades);
Configuration::updateValue('MYMOD_COMMENTS', $enable_comements);
$this->context->smarty->assign('confirmation', 'ok');
}
}
public function assignConfiguration()
{
$enable_grades = Configuration::get('MYMOD_GRADES');
$enable_comments = Configuration::get('MYMOD_COMMENTS');
$this->context->smarty->assign('enable_grades', $enable_grades);
$this->context->smarty->assign('enable_comments', $enable_comments);
}
public function hookActionAdminControllerSetMedia($params){
$this->registerStylesheet('module-tuxinmodcomments-css','modules/tuxinmodcomments/js/getcontent.css');
$this->registerJavascript('module-tuxinmodcomments-js','modules/tuxinmodcomments/js/getcontent.js');
}
public function getContent() {
$this->processConfiguration();
$this->assignConfiguration();
return $this->display(__FILE__,'getContent.tpl');
}
}
поэтому я зарегистрировал админ набора носителей крюк с именем actionAdminControllerSetMedia
но кажется, что он не имеет функции, таблицы стилей и JavaScript, потому что я получаю ту же ошибку для обоих: Uncaught Symfony\Component\Debug\Exception\UndefinedMethodException: Attempted to call an undefined method named "registerStylesheet" OR "registerJavascript" of class "AdminModulesController"
.
Я действительно Новичок в этом.. Я читал, что мне нужно установить его в передний контроллер.. но разве это не означает, что он будет отображаться на обычной странице, а не на странице конфигурации?
не знаю, как решить эту проблему и немного запутался, поэтому любая информация по этому вопросу будет очень признательна.
Ответы - попытка загрузить файлы js и css в модуле администратора prestashop 1.7 / trying to load js and css files in prestashop 1.7 admin module

27.07.2017 02:11:06
Для загрузки CSS или JS вы должны использовать этот крюк, с этим фрагментом кода:
public function hookDisplayBackOfficeHeader()
{
$this->context->controller->addCSS($this->_path.'pathtocss/module.css', 'all');
$this->context->controller->addJS($this->_path.'pathtojs/module.js', 'all');
}
Наслаждаться :)
PS: вы должны зарегистрироваться на дисплей вспомогательную заголовок крючок

05.11.2018 07:38:15
Поскольку вам нужно зарегистрировать активы для бэк-офиса, т. е. для AdminController
, то вам нужно использовать addJS
методы addJS и addCSS. Итак, правильный пример для добавления файлов JS и CSS через класс модуля-это:
addCSS
Вот подробная информация, как зарегистрировать JavaScript в бэк-офисе (на страницах администратора).
Если вам нужно зарегистрировать активы для фронт-офиса (т. е. public function hookActionAdminControllerSetMedia($params)
{
// Adds your's CSS file from a module's directory
$this->context->controller->addCSS($this->_path . 'views/css/example.css');
// Adds your's JavaScript file from a module's directory
$this->context->controller->addJS($this->_path . 'views/js/example.js');
}
) в PrestaShop 1.7, то вам нужно использовать FrontController
и registerJavascript
:
registerStylesheet

