Prestashop добавление проблемы css - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь добавить внешний CSS, но это не свойство work,

Я использую prestashop версии 1.7.4.3

в функции install () я вызываю ловушки

&& $this->registerHook('displayHeader')
&& $this->registerHook('backOfficeHeader')

внутри хука, я регистрирую файлы css и js

public function hookDisplayHeader($params)
{
    $this->context->controller->addCSS(($this->_path) .'views/css/style.css');
    $this->context->controller->addJS(($this->_path) .'views/js/script.js');
    $this->context->controller->addCSS('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

}

public function hookBackOfficeHeader(){
    $this->context->controller->addCSS('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
    $this->context->controller->addCSS(($this->_path) .'views/css/module.css');
    $this->context->controller->addJqueryUI('ui.sortable');

}

в hookBackOfficeHeader () У меня нет проблем, но в hookDisplayHeader () не хочет регистрировать шрифт потрясающий.

Я пытаюсь использовать registerStylesheet () вместо addCss (), но не работает вообще.

Почему это отличается между двумя функциями? возможно, потому что hookDisplayHeader не принимает внешний файл?

Спасибо

редактировать

Я решил с помощью registerStylesheet () и registerJavascript ()

public function hookDisplayHeader($params)
{
     $this->context->controller->registerStylesheet(
        'sidemenu',
        ($this->_path) .'views/css/style.css',
        ['server' => 'remote', 'position' => 'head', 'priority' => 150]
    );
     $this->context->controller->registerJavascript(
        'sidemenu-js',
        ($this->_path) .'views/js/script.js',
        ['server' => 'remote', 'position' => 'head', 'priority' => 120]
    );

    $this->context->controller->registerStylesheet(
        'remote-font-awesom',
        'https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
        ['server' => 'remote', 'position' => 'head', 'priority' => 20]
    );
}

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Также для добавления font-awesome вам лучше использовать requireAssets (array ('font-awesome')) что-то вроде этого

$this->context->controller->requireAssets(array('font-awesome'));
0 голосов
/ 12 ноября 2018

Обратная совместимость сохраняется для методов addJS (), addCSS (), addJqueryUI () и addJqueryPlugin (). Кстати, сейчас самое подходящее время для обновления ваших библиотек и использования нового метода.

При разработке модуля PrestaShop вы можете добавить определенные стили для своих шаблонов. Лучший способ - использовать методы registerStylesheet и registerJavascript, предоставляемые родительским классом FrontController.

Смотри ссылку: https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/

Привет

...