Перенос контактной информации из FOOTER в HEADER.

Автор first-step, 08 августа 2015, 10:24:39

« назад - далее »

first-step

/themes/default-bootstrap/modules/blockcontactinfos/blockcontactinfos.tpl - здесь формируется модуль информации, который выводится в footer'ре. (см. картинку) Подскажите, а как его вывести в header'ре?

Через админку как то можно? Или только через код?

DarinSr

Только через код. Нужно менять хук вывода. В файле /modules/blockcontactinfos/blockcontactinfos.php заменить
public function hookFooter($params)
на
public function hookTop($params)

first-step

Спасибо, но пока есть сложности:

На комбинацию:

public function hookHeader()
{
$this->context->controller->addCSS(($this->_path).'blockcontactinfos.css', 'all');
}

public function hookHeader($params)
{
if (!$this->isCached('blockcontactinfos.tpl', $this->getCacheId()))
foreach (Blockcontactinfos::$contact_fields as $field)
$this->smarty->assign(strtolower($field), Configuration::get($field));
return $this->display(__FILE__, 'blockcontactinfos.tpl', $this->getCacheId());
}


Ругалась:


Fatal error: Cannot redeclare Blockcontactinfos::hookHeader() in /var/www/PrestaShop-1.6/modules/blockcontactinfos/blockcontactinfos.php on line 91

Удалил:

public function hookHeader()
{
$this->context->controller->addCSS(($this->_path).'blockcontactinfos.css', 'all');
}


Что то поменялось, в header что то выводит, но без данных...просто пустые div'ы

Mr.Sen


first-step

#4
Простите, невнимально прочитал Ваши рекомендации.
Текст поправил. Теперь так:

   public function hookTop($params)

{

if (!$this->isCached('blockcontactinfos.tpl', $this->getCacheId()))

foreach (Blockcontactinfos::$contact_fields as $field)

$this->smarty->assign(strtolower($field), Configuration::get($field));

return $this->display(__FILE__, 'blockcontactinfos.tpl', $this->getCacheId());

}


Пустые дивы исчезли. Из футера пропала информация, но в хедер не добавилась... Или надо теперь в админке?

Adik

В функции установки замените footer на top:
public function install()
{
.....
return (parent::install() && $this->registerHook('header') && $this->registerHook('top'));
}

Переустановите модуль.
Измените шаблон модуля /themes/default-bootstrap/modules/blockcontactinfos/blockcontactinfos.tpl под размеры шапки сайта.
Измените стили.

first-step

Все великолепно заработало. Спасибо огромное.