Jump to content

Topmenu leo converse problem


Recommended Posts

Witam, 

Na wstępie chciałbym serdecznie powitać wszystkich użytkowników tego forum. 

Jestem początkującym użytkownikiem prestashop (prosiłbym więc o wyrozumiałość). 

 

Zainstalowałem theme leo converse (póki co darmową skórkę). 

Wszystko przebiegało pomyślnie do czasu kiedy nie przyszło do tworzenia górnego menu. 

 

Czy mógłby mi ktoś podpowiedzieć w jaki sposób umieścić linki w tym module ? 

Po zmianie nie aktualizują się. W sumie jest to kwestia przypadku kiedy się uaktualnią. 

 

Wygląda to w ten sposób: 

 

Linki zmieniają się jak im się podoba: 

57393187867603398159.jpg

 

42462092426847255953.jpg

 

Jeżeli chodzi o konfigurację oraz moduły: 

 

84841604641793397897.jpg

 

80610417936182996515.jpg

 

W związku z powyższym czy ktoś mógłby mi doradzić / wytłumaczyć / pomóc w jaki sposób wykonać to poprawnie? 

Link to comment
Share on other sites

wyłącz cache z adv. parameters > performance, i włącz wymuszenie kompilacji (zrób to tylko wtedy, kiedy pracujesz nad szablonem itp.)

po zmianach w ustawieniach modułu, zmianny powinny być widoczne automatycznie.

  • Like 1
Link to comment
Share on other sites

Dziękuje za pomoc. 

Udało się. 

 

Dodam jeszcze tylko dla użytkowników, którzy w przyszłości mieliby podobny problem, że oprócz: 

 

 

wyłącz cache z adv. parameters > performance, i włącz wymuszenie kompilacji (zrób to tylko wtedy, kiedy pracujesz nad szablonem itp.)

po zmianach w ustawieniach modułu, zmianny powinny być widoczne automatycznie.

 

Jak nie widoczne są zmiany należy jeszcze wyłączyć wyczyścić pamięć podręczną a następnie ją na czas edycji wyłączyć. 

 

W każdym razie rada bardzo pomocna i rozwiązująca problem. 

 

Pozdrawiam, 

 

Link to comment
Share on other sites

Napotkałem kolejny problem z wyświetlaniem wysuwanej listy: 

 

80745127465816542224.jpg

 

Oczywiście szukałem rozwiązania problemu. Tkwi on w kodzie: 

if (!empty($is_intersected))
		{
			$this->_menu .= '<li class="'.$selected;
            $add_data = '';
            if($category->level_depth==1){
                $this->_menu .= 'dropdown">';
                $add_data = ' class="dropdown-toggle" data-toggle="dropdown"';
            }elseif($category->level_depth>1&&count($children)){
                $this->_menu .= 'dropdown-submenu">';
            }else{
                $this->_menu .= '">';
            }
			$this->_menu .= '<a'.$add_data.' href="'.$category_link.'">'.$category->name;
			if (count($children))
			{
				$this->_menu .= '<b class="caret"></b>';
			}
			$this->_menu .='</a>';

			if (count($children))
			{
                $this->_menu .= '<ul class="dropdown-menu">';

				foreach ($children as $child)
					$this->getCategory((int)$child['id_category'], (int)$id_lang, (int)$child['id_shop']);

				$this->_menu .= '</ul>';
			}
			$this->_menu .= '</li>';
		}
	}

Niestety zmiana nic nie pomogła. 

Czy mógłby ktoś doradzić co należy zmienić ? 

 

 

Pozdrawiam, 

Link to comment
Share on other sites

 

zmień /modules/blockleotopmenu/blockleotopmenu.php

linie 612 - 623 na:

$this->_menu .= '<li class="'.$selected;

$add_data = '';

if($category->level_depth==1){

$this->_menu .= 'dropdown">';

$add_data = ' class="dropdown-toggle" data-toggle="dropdown"';

}elseif($category->level_depth==2){

$this->_menu .= 'dropdown">';

//$add_data = ' class="dropdown-toggle" data-toggle="dropdown"';

}elseif($category->level_depth>2&&count($children)){

$this->_menu .= 'dropdown-submenu">';

}else{

$this->_menu .= '">';

}

 
Link to comment
Share on other sites

zanim będziemy dalej szukać, warto zaznaczyć, że po zmianach w pliku blocktopmenu.php konieczne jest wygenerowanie menu na nowo, tj.

 

wyłącz cache z adv. parameters > performance, i włącz wymuszenie kompilacji (zrób to tylko wtedy, kiedy pracujesz nad szablonem itp.)

po zmianach w ustawieniach modułu, zmianny powinny być widoczne automatycznie.

Link to comment
Share on other sites

Tak. Faktycznie zmiana jest widoczna. Nie mniej jednak, nadal nie jest poprawna. 

Wygląda to mianowicie na chwilę obecną w ten sposób:

 

01577336773540437654.jpg

 

 

Kod wygląda następująco: 

{
		$id_lang = $id_lang ? (int)$id_lang : (int)Context::getContext()->language->id;
		$category = new Category((int)$id_category, (int)$id_lang);

		if ($category->level_depth > 1)
			$category_link = $category->getLink();
		else
			$category_link = $this->context->link->getPageLink('index');

		if (is_null($category->id))
			return;

		$children = Category::getChildren((int)$id_category, (int)$id_lang, true, (int)$id_shop);
		$selected = ($this->page_name == 'category' && ((int)Tools::getValue('id_category') == $id_category)) ? ' active ' : '';

		$is_intersected = array_intersect($category->getGroups(), $this->user_groups);
		// filter the categories that the user is allowed to see and browse
		if (!empty($is_intersected))
		{
			$this->_menu .= '<li class="'.$selected;
$add_data = '';
if($category->level_depth==1){
$this->_menu .= 'dropdown">';
$add_data = ' class="dropdown-toggle" data-toggle="dropdown"';
}elseif($category->level_depth==2){
$this->_menu .= 'dropdown">';
//$add_data = ' class="dropdown-toggle" data-toggle="dropdown"';
}elseif($category->level_depth>2&&count($children)){
$this->_menu .= 'dropdown-submenu">';
}else{
$this->_menu .= '">';
}
			{
				$this->_menu .= '<b class="caret"></b>';
			}
			$this->_menu .='</a>';

			if (count($children))
			{
                $this->_menu .= '<ul class="dropdown-menu">';

				foreach ($children as $child)
					$this->getCategory((int)$child['id_category'], (int)$id_lang, (int)$child['id_shop']);

				$this->_menu .= '</ul>';
			}
			$this->_menu .= '</li>';
		}
	}
Link to comment
Share on other sites

Bardzo dziękuje. Faktycznie podmiana pliku rozwiązała problem. 

 

Oczywiście nie chciałbym nadużywać chęci pomocy nie mniej jednak jeszcze małe pytanie. Po podmianie menu główne wygląda w ten sposób: 

 

06474455791602778213.jpg

 

95663238477460683023.jpg

 

Pytanie jest następujące. Czy istnieje możliwość abym w jakiś sposób mógł ujednolicić to menu? 

Oryginalne menu Leo jest dość niewygodne, po najechaniu (trzeba kliknąć aby nie znikało). Zdecydowanie lepszą wersję zaproponowałeś w postaci menu, które się nie chowa. 

 

 

 

Pozdrawiam,

 

Link to comment
Share on other sites

×
×
  • Create New...