Jump to content

przeniesienie menu, nowy hook


Recommended Posts

Witam ponownie.

 

Tym razem chciałbym przenieść menu tak aby nie znajdowało się w HOOK_TOP tylko w moim HOOK_NOWAK

 

Zrobiłem tak:

			// These hooks aren't used for the mobile theme.
			// Needed hooks are called in the tpl files.
			if (!isset($this->context->cart))
				$this->context->cart = new Cart();
			$this->context->smarty->assign(array(
				'HOOK_HEADER' => Hook::exec('displayHeader'),
				'HOOK_TOP' => Hook::exec('displayTop'),
				'HOOK_NOWAK' => Hook::exec('displayNowak'), //tą linike dopisałem
				'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''),
				'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
			));

W bazie utworzyłem nowy HOOK:  id_hook: 133 | name: displayNowak | position: 1

 

następnie w hook_module dopisałem: id_module: 26 | id_shop: 1 | id_hook: 133 | position: 1

 

(id 26 bo to id bloktopmenu)

 

Nastpęnie w pliku header.tpl pod HOOK_TOP dodałem:

<div style="background: red; width: 200px; height: 100px;">{$HOOK_NOWAK}</div>

I niestety nic się nie dzieje. Nie ma tam menu.

 

Czy mogę prosić o pomoc?

  • Like 1
Link to comment
Share on other sites

Robiłem wszystkie hooki tak samo i wszystko działało dopuki nie natrafiłem na modul search.

 

Kiedy wpisuję w klasie:

	public function hookDisplaySearch($param){
		return $this->hookDisplayTop($param);
              //return $this->hookDisplayHome($param);
	}	

Mam białą stronę. Jakieś pomysły ? ;>

Link to comment
Share on other sites

moduł ten wykorzystuje funkcje:

	public function hookTop($params)
	{
		if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $this->getCacheId('blocksearch-top')))
		{
			$this->calculHookCommon($params);
			$this->smarty->assign('blocksearch_type', 'top');
		}

		return $this->display(__FILE__, 'blocksearch-top.tpl', Tools::getValue('search_query') ? null : $this->getCacheId('blocksearch-top'));
	}

to jest ta sama funkcja co hookDisplayTop (pod względem tego, co robi) jednak zapisem różni się nieco (hookTop a nie hookDisplayTop). Dlaczego? w starych wersjach było hookTop zamiast hookDisplayTop, stąd ta różnica.

 

 

skorzystaj z takiego kodu:

	public function hookDisplaySearch($param){
		return $this->hookTop($param);
              //return $this->hookDisplayHome($param);
	}
Link to comment
Share on other sites

×
×
  • Create New...