Jump to content

Déplacer bloc recherche rapide dans thème par défaut


Recommended Posts

Bonjour à toutes et à tous!

 

Petit nouveau sur Prestashop, j'ai entrepris de mettre le thème par défaut à mon goût.

 

J'ai déjà effectué plusieurs opérations de personnalisation mais là je bute sur un truc; je voudrais déplacer le bloc de recherche rapide (du thème par défaut) dans le "menu haut horizontal".

 

Faut-il greffer le bloc de recherche rapide sur un autre module puis modifier sa position relative par rapport au menu haut horizontal?Si oui, comment faire?

 

Merci d'avance.

 

Link to comment
Share on other sites

Bonjour Atch et merci pour votre réponse!

 

J'avais commencé par personnaliser la barre de recherche de base, puis j'avais ajouté le menu horizontal.

J'ai vu qu'il y avait, comme vous le dites, une barre de recherche intégrée au menu horizontal.

 

Si je procède comme vous dites, je supprime la barre de recherche par défaut, j'active celle qui est présente dans le menu horizontal...mais du coup je dois personnaliser de nouveau cette barre de recherche!

 

Est-ce le seul moyen?

Link to comment
Share on other sites

Bonjour, dans le module blocksearch, il suffit d' ajouter un hook perso à l'install: dans /modules/blocksearch fichier blocksearch.php

 

dans la fonction install:

public function install()
	{
		if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('displayMonHookPerso') || !$this->registerHook('header') || !$this->registerHook('displayMobileTopSiteMap'))
			return false;
		return true;
	}

ensuite j'ecris la nouvelle fonction du hook qui se base sur celle du hook top

public function hookDisplayMonHookPerso($params)
	{
		return $this->hookTop($params);
	}

(a insérer après la fonction du hook top)

 

On réinitialise le module block search, afin que presta puisse créer le nouveau hook

On dégreffe dans la position du hook top le module block search (backoffice/modules/position), ou on peut aussi supprimer le hook top a l'install et reprendre sa fonction pour le nouveau hook...

 

On intègre le module blocksearch via le hook perso dans le tpl la ou on le souhaite, par exemple dans le header.tpl.

{hook h='displayMonHookPerso'}

Voila :)

Edited by Alexandre-KM (see edit history)
Link to comment
Share on other sites

Bonsoir Alexandre-KM et merci pour ta réponse...cependant j'ai besoin de quelques précisions pour mieux comprendre!^^

 

1)Le fait de modifier directement la fonction "install" n'est pas gênant ou bloquant par la suite?

2)Le fait de modifier le fichier blocksearch.php impacte donc tous les thèmes qui seront créés avec cette configuration?

3)Comment réinitialiser le module?

Link to comment
Share on other sites

1)Le fait de modifier directement la fonction "install" n'est pas gênant ou bloquant par la suite?

Peut être lors de la mise a jour du module, mais tu peux très bien crée un override du module

2)Le fait de modifier le fichier blocksearch.php impacte donc tous les thèmes qui seront créés avec cette configuration?

Oui mais si tu n'appelles pas dans le theme le hook crée il ne se passera rien

3)Comment réinitialiser le module?

Dans la partie administration des modules, tu peux installer, désinstaller supprimer et réinitialiser

Link to comment
Share on other sites

Bonsoir Alexandre-KM,

 

J'ai suivi tes instructions à la lettre et pour l'instant j'arrive à appliquer ce que tu m'as dit.

Il y a juste pour la dernière partie que je bloque:

 

On intègre le module blocksearch via le hook perso dans le tpl la ou on le souhaite, par exemple dans le header.tpl.

{hook h='displayMonHookPerso'}

 

1.Si je veux positionner la barre de recherche dan mon menu horizontal, est-ce dans le fichier "header.tpl" que je dois placer le displayHook?

2. A quel endroit du fichier et comment mettre ton "{hook h='displayMonHookPerso'}"?

Link to comment
Share on other sites

Bonsoir,

1.Si je veux positionner la barre de recherche dan mon menu horizontal, est-ce dans le fichier "header.tpl" que je dois placer le displayHook?

A ce moment la ce sera dans /ton_theme/modules/blocktopmenu/blocktopmenu.tpl

2. A quel endroit du fichier et comment mettre ton "{hook h='displayMonHookPerso'}"?

Après le {$menu} j'avais fait ca pour un client:

{if $MENU != ''}
	<!-- Menu -->
	<div id="block_top_menu" class="sf-contener clearfix col-lg-12">
		<div class="cat-title">Menu de mon client</div>
		<ul class="sf-menu clearfix menu-content">
			{$MENU}
			{hook h='monHookPerso'}
			{*{if $MENU_SEARCH}
				<li class="sf-search noBack" style="float:right">
					<form id="searchbox" action="{$link->getPageLink('search')|escape:'html':'UTF-8'}" method="get">
						<p>
							<input type="hidden" name="controller" value="search" />
							<input type="hidden" value="position" name="orderby"/>
							<input type="hidden" value="desc" name="orderway"/>
							<input type="text" name="search_query" value="{if isset($smarty.get.search_query)}{$smarty.get.search_query|escape:'html':'UTF-8'}{/if}" />
						</p>
					</form>
				</li>
			{/if}*}
		</ul>
	</div>
	<!--/ Menu -->
{/if}
Link to comment
Share on other sites

Non, juste position verticale...en gros mes categories sont sur une ligne et ma barre de recherche sur une autre....je voudrais mettre ma barre de recherche sur ma première ligne et à droite de mes catégories

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...