используя bootstrap 4 с модулем prestashop 1.7.2.1

У меня установлен Prestashop 1.7.2.1, и я пытаюсь написать для него модуль.

В общем, я просто хочу протестировать поддержку bootstrap (4?).

Я создал в своем модуле ловушку для displayTop, и он загружает следующий шаблон smarty:

<div class="alert alert-primary" role="alert">
    This is a primary alert—check it out!
</div>

но, к сожалению, это не добавляет в мой модуль правильный стиль начальной загрузки css.

это конструктор моего модуля:

class TuxInModCarType extends Module
{
    function __construct()
    {
        $this->csvUtil = new CsvUtil(buildCsvArray());
        $this->ret = new RetObj();
        $this->name = 'tuxinmodcartype';
        $this->tab = 'quick_bulk_update';
        $this->version = '0.1';
        $this->author = 'Kfir Ozer';
        $this->bootstrap = true;
        $this->need_instance = 0;
        $this->ps_versions_compliancy = array('min' => '1.7', 'max' => _PS_VERSION_);
        parent::__construct();

        $this->displayName = 'Tux-In Car Type';
        $this->description = 'With this module, you will be able to specify car types for products';
        $this->confirmUninstall = $this->l('Are you sure you want to uninstall');
        if (!Configuration::get('MYMODULE_NAME'))
            $this->warning = $this->l('No name provided');
    }

Я погуглил, что мне нужно использовать $this->bootstrap=true;, но на самом деле ModuleCore не содержит свойства начальной загрузки.

Я устанавливаю свой модуль со следующей функцией:

public function install () {

return (parent::install()  && $this->loadSqlFile(__DIR__.DIRECTORY_SEPARATOR.'sql'.
DIRECTORY_SEPARATOR.'install.sql') &&
        $this->registerHook('displayBackOfficeHeader') &&
$this->registerHook('displayAdminProductsExtra') &&
$this->registerHook('displayTop'));

}

и hookDisplayTop как следующий код:

   public function hookDisplayTop() {
        $this->context->controller->addJquery();
        $this->context->controller->bootstrap=true;
        $this->context->controller->addCSS($this->_path.'/css/displaytop.css');
        $this->context->controller->addJS($this->_path.'/js/displaytop.js');
        return $this->display(__FILE__,'/displayTop.tpl');
    }

здесь, в $this->context->controller, я нашел bootsrap переменную, но она тоже ничего не меняет.

Любые идеи?


person ufk    schedule 19.08.2017    source источник


Ответы (1)


Bootstrap 4 не имеет класса alert-primary, по крайней мере, из документации. Я вставил ваш html-фрагмент на демонстрационную страницу prestashop, и я не получил никакого стиля. Однако использование любых других alert-success, alert-info и т. Д. Демонстрирует правильный стиль.

person TheDrot    schedule 19.08.2017