Автор Тема: Вопрос по blockcmsinfo в правой или левой колонке  (Прочитано 672 раз)

08 Май 2019, 13:09:11
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Пытаюсь прикрутить блок к правой колонке.
Прописал в blockcmsinfo.php привязку к хуку
$this->registerHook('rightColumn') &&и
Вывод информации
public function hookRightColumn($params)
    {
        $this->context->controller->addCSS($this->_path.'style_rc.css', 'all');
        if (!$this->isCached('blockcmsinfo_rc.tpl', $this->getCacheId()))
        {
            $infos = $this->getInfos($this->context->language->id, $this->context->shop->id);
            $this->context->smarty->assign(array('infos' => $infos, 'nbblocks' => count($infos)));
        }

        return $this->display(__FILE__, 'blockcmsinfo_rc.tpl', $this->getCacheId());
    }
Соответственно создав файлы style_rc.css и blockcmsinfo_rc.tpl
Настроил в blockcmsinfo_rc.tpl вывод так как мне надо. заменил <div id="cmsinfo_block"> на нужный мне id
Дальше я застрял
Редактирую блок в бэкофисе модуля. Блок на фронте показывается без изменения.
Оборачиваю обратно в <div id="cmsinfo_block"> и вся информация показывается уже обновляясь.
Но при этом слетают все мои классы из style_rc.css и подтягиваются настройки cmsinfo_block из global.css и theme.css

Подскажите, что я не так указал или что я не доделал. В какую сторону смотреть?
Мне необходимо отвязаться от id="cmsinfo_block" и привязаться к моему id, так чтобы информация обновлялась
08 Май 2019, 19:14:48
Ответ #1
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вопрос снимаю.
Решил следующим путем.
В папке модуля \themes\default-bootstrap\modules\blockcmsinfo создал файл blockcmsinfo.tpl с нужной мне разметкой.
В папке модуля в корне modules\blockcmsinfo использовал style.css и обнулил стили
#cmsinfo_block em {
  background: none;
  text-shadow: none;
}
#cmsinfo_block {
  background: none;
  text-align: left;
  overflow: visible;
    background: none;
min-height: 0;
height: 0;
padding: 0;
}
#cmsinfo_block > div {padding:0;}
#cmsinfo_block, #cmsinfo_block > div + div {
    border:none;
}
Скорее всего костыль, но он работает
Может кому-то понадобится