Jump to content
  • 0

Problem z Top Menu na dispaly Nav hook po aktualizacji do 1.6.0.14


Czarekplpl

Question

Witam.

Miałem Top Horizontal Menu na display Nav hook i wyglądało to super.

Korzystałem z tego tutoriala  http://mypresta.eu/en/art/prestashop-16/block-top-menu-displaynav.html

Generalnie super strona masa dobrych porad itp.

Niestety sielanka sie skonczyła po update z 1.6.0.9 do 1.6.0.14

Teraz pomino że wkleiłem w blocktopmenu.php dodatkowy kod nic nie pomaga całe menu jest rozjechanei wygląda tak

http://nimb.ws/EZIcfN

Końcówka blocktopmenu.php zdodatkowym kodem:

   );

                $helper = new HelperList();
                $helper->shopLinkType = '';
                $helper->simple_header = true;
                $helper->identifier = 'id_linksmenutop';
                $helper->table = 'linksmenutop';
                $helper->actions = array('edit', 'delete');
                $helper->show_toolbar = false;
                $helper->module = $this;
                $helper->title = $this->l('Link list');
                $helper->token = Tools::getAdminTokenLite('AdminModules');
                $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;

                return $helper->generateList($links, $fields_list);
        }
        public function hookdisplayHeader($params){
            $this->context->controller->addJS($this->_path.'js/hoverIntent.js');
            $this->context->controller->addJS($this->_path.'js/superfish-modified.js');
            $this->context->controller->addJS($this->_path.'js/blocktopmenu.js');
            $this->context->controller->addCSS($this->_path.'css/blocktopmenu.css');
            $this->context->controller->addCSS($this->_path.'css/superfish-modified.css');
            }


Czy ktoś wie dlaczego tak się dzieje??

 

 

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

Plik superfish-modified.css wygląda tak:

/*** ESSENTIAL STYLES ***/
.sf-contener {
	clear: both;
}
.sf-right {
  margin-right: 14px;
  float: right;
  width: 7px;
}
.sf-menu, .sf-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
.sf-menu {
	margin: 10px 0;
	padding:0;
	width:980px;/* 980 */
	background: #383838;
}
.sf-menu ul {
	position:		absolute;
	top:			-999em;
	width:			10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
	width:			100%;
}
.sf-menu li:hover {
	visibility:		inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
	float:			left;
	position:		relative;
	border-right: 1px solid #777;
}
.sf-menu a {
	display:		block;
	position:		relative;
	color:#fff;
	text-shadow:0 1px 0 #333;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
	left:			0;
	top:			34px; /* match top ul list item height */
	z-index:		99;
	width:auto
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
	top:			-999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
	left:			200px; /* match ul width */
	top:			0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
	top:			-999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
	left:			200px; /* match ul width */
	top:			0;
}

/*** DEMO SKIN ***/
.sf-menu {
	float:			left;
	margin-bottom:	1em;
}
.sf-menu a {
	display:block;
	margin-right:2px;
	padding: 0 22px 0 20px;
	line-height:34px;
	border: 0;
	text-decoration:none;
}
.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
	color:			#fff;
	white-space:nowrap;
}
.sf-menu li li {
	background: rgba(113, 113, 113, 0.9);
}
.sf-menu li li li {
	background:	rgba(113, 113, 113, 0.9);
}
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
  	background: #4E4E4E;
}
.sf-menu ul li:hover, .sf-menu ul li.sfHover,
.sf-menu ul li a:focus, .sf-menu ul li a:hover, .sf-menu ul li a:active {
	background:		#4e4e4e;
	outline:		0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
	padding-right: 	2.25em;
	min-width:		1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
	position:		absolute;
	display:		block;
	right:			10px;
	top:			1.05em; /* IE6 only */
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
	background:		url('../img/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator {  /* give all except IE6 the correct values */
	top: 11px;
	background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
	background-position: -10px -100px; /* arrow hovers for modern browsers*/
}

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}

/*** shadows for all but IE6 ***/
.sf-shadow ul {
	background:	url('../img/shadow.png') no-repeat bottom right;
	padding: 0 8px 9px 0;
	-moz-border-bottom-left-radius: 17px;
	-moz-border-top-right-radius: 17px;
	-webkit-border-top-right-radius: 17px;
	-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
	background: transparent;
}
li.sf-search {
  background: inherit;
  float: right;
  line-height: 25px;
}
li.sf-search input {
  -moz-border-radius: 0 5px 5px 0;
  padding: 3px 0;
  padding-left: 20px;
  margin: 6px 6px 0 0;
  background: #fff url('../img/search.gif') no-repeat left center;
  border:1px solid #777
}

/* hack IE7 */
.sf-menu a, .sf-menu a:visited {height:34px !IE;}
.sf-menu li li {
	width:200px;
	background:#726f72 !IE;
}

Link to comment
Share on other sites

  • 0

Skoro menu uczepiasz do displayNav to i cały ten interes js i css też załaduj do dispayNav.

 

public function hookdisplayNav($params){
$this->context->controller->addJS($this->_path.'js/hoverIntent.js');
$this->context->controller->addJS($this->_path.'js/superfish-modified.js');
$this->context->controller->addJS($this->_path.'js/blocktopmenu.js');
$this->context->controller->addCSS($this->_path.'css/blocktopmenu.css');
$this->context->controller->addCSS($this->_path.'css/superfish-modified.css');
}

Link to comment
Share on other sites

  • 0

Dziwnie to się zachowuje.

Skasuj wszystkie katalogi:

/modules/blocktopmenu/

/themes/default-bootstrap/modules/blocktopmenu/

/themes/default-bootstrap/css/modules/blocktopmenu/

/themes/default-bootstrap/js/modules/blocktopmenu/

Wyłącz całą kompresję CCC, wyczyść cache presty, wymuś kompilację szablonu.

 

Zainstaluj moduł i zobacz czy działa. :)

Link to comment
Share on other sites

  • 0

Wielkie dzięki za instrukcję.

Podane lokalizacje wykasowałem.

Wyłączyłem CCC.

Kompilacja wymuszona.

Mam tylko 2 pytania, bo niestety jest to samo co było. Czyli rozjechane menu po aktualizacji do 2.1.1

Na czystej instalce przeniosłem tylko moją bazę i katalog img.

1.Czy wystarczy wyczyścić Smarty Casch i Compile czy jeszcze coś?

2. Jak zainstalować moduł? Wystarczy kliknąć install w modułach, czy trzeba sciagnąć skądś plik z instalką?

 

Nie wiem czy to ma jakieś znaczenie i co to jest ale w Configuration information mam :

 

 

 LIST OF CHANGED FILES
Changed/missing files have been detected.
Missing files (2)
  • .gitignore
  • .gitmodules
Updated files (2)
  • CONTRIBUTORS.md
  • config/defines.inc.php
Edited by Czarekplpl (see edit history)
Link to comment
Share on other sites

  • 0

1. Wystarczy.

2. Tylko "install" to jest moduł z kontrybucji presty, to sam się pobierze.

3. Wszystko masz w konfiguracji OK.

Plików .gitignore i .gitmodules nie musi być, kontrybutorzy zmieniają się co chwilę to i plik się zmienia, a defines.inc.php normalne że jest zmieniony, bo są tam twoje dane konfiguracyjne.

 

Wracając do modułu, to podejrzewam, że coś z konfiguracją twojego serwera hostingowego jest nie tak.

Jaką wersję PHP masz na hostingu?

Link to comment
Share on other sites

  • 0

Problem pojawia się po podłączeniu starej bazy danych.

Zrobiłem tak:

Nowa instalka uaktualnienie modułów.

Zauważyłem, że teraz blocktopmenu jest na jeszce jednym hooku Header.

A jak podłącze starą bazę danych do nowej instalki hoook Header znika a menu się rozjeżdża.

Header hook nie pojawia mi się również po aktualizacji z 1.6.0.9 do 1.6.0.14. Nie ma go w menu Hook into.

 

Więc coś jest z bazą chyba tylko co??

A do tego ten znikający hak. :=((

PHP mam wersję 5.5.22

 

A może uaktualniać kolejne wersje. One by one.??

Edited by Czarekplpl (see edit history)
Link to comment
Share on other sites

  • 0

Ale jaja, znalazłem. Oczwiście dzięki Twojej pomocy bo zacząłem szukać w bazie z najnowszej instalki displayHeader i nie znalazłem.

Wystarczy zmienić w tabeli w ps_hook nazwę hooka z displayHeader na Header.

Podpiąc Top Horizontal Menu pod hook Header a potem pod displayTop albo displayNav 

Pod displayHeader nie da się podpiąć TopMenu.

Teraz TopHorizontalMenu wyświetla się poprawnie, czy to poskutkuje jakąś inną awarią to nie wiem.

Top menu działa :-))

Jak się coś wykrzaczy to napisze a jak nie to "No news is good news" :-))

Edited by Czarekplpl (see edit history)
Link to comment
Share on other sites

  • 0

Ale jaja, znalazłem. Oczwiście dzięki Twojej pomocy bo zacząłem szukać w bazie z najnowszej instalki displayHeader i nie znalazłem.

Wystarczy zmienić w tabeli w ps_hook nazwę hooka z displayHeader na Header.

Sprawdziłem na githubie najnowszą instalkę presty i faktycznie nie ma już hooka displayHeader, jest tylko header.

I nowy moduł blocktopmenu ma już tylko registerHook('header').

Ale to co zrobiłeś to mogą być problemy ze starszymi modułami.

Lepiej do tabeli aliasów hooków dodać alias header do displayHeader. Wtedy będzie działać i jeden i drugi.

Link to comment
Share on other sites

  • 0

Tak, lepiej dodać alias i tak zrobie.

Ciekawostką jest to, że jak uaktualniam po kolei instalki od wersji 9, 11, 12,13 do 14 to w wersji 12 można już dodać TopHorizontalMenu na hook displayHeader i też działa.

Czyli jednak najlepiej uatkualniać każdą wersję po kolei. Pozostaje tylko problem, że trzeba akurat wiedzieć, że należ dodać hook displayHeader.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...