Jump to content

Cómo puedo separar el HOOK_TOP?


Naegum

Recommended Posts

Buen día a toda la comunidad de Prestashop , agradeciendo su disponibilidad mi duda es la siguiente :

Quisiera modificar el HOOK_TOP , es decir ese módulo completo que incluye moneda , idioma , buscar , etc. Es decir quisiera extraer la opción de búsqueda y hacer que esta aparezca debajo del logo de la empresa.

He tratado de ver el código pero no sé donde es que une todos los bloques el HOOK_TOP, espero me puedan ayudar.

Saludos Cordiales

Link to comment
Share on other sites

mmmm, el HOOK_TOP en realidad no se corresponde a ningún archivo ni código, solo es la posición en la que se van a ver determinados módulos.

Por ejemplo en moneda, buscador etc le dices que se muestre en HOOK_TOP y en la plantillla esta definido HOOK_TOP en algún lugar (archivo header.tpl).

Tendrías que crearte un hook nuevo para ubicar el buscador o bien tratr de moverlo mediante css.

Saludos

Link to comment
Share on other sites

Ya veo Mortim gracias , sí acabo de ver que todo lo hace la función public function hookTop($params) , tendría que crear una función public function hooknew($params) , para el nuevo hook cierto? o la jugada está en el .tpl.

- Acabo de quitar con exito el Buscador del Hook top comentando esa función hooTop.

Espero estar en lo cierto, espero tus comentarios.

Gracias nuevamente Mortim

Link to comment
Share on other sites

Hola, comentar esa función no sería la solución, ten en cuenta que esa función solamente te habilita la posibilidad de incluir el buscador en la posición top, para eso mejor vas al gestor de módulos y desactivas el buscador, o bien lo cambias a otra posición.

Yo lo que haría sería ir a la plantilla header.tpl, eliminar el div que envuelva a HOOK_TOP (

) y entrar al tpl de cada módulo (moneda-blockcurrencies, busqueda-blocksearch... etc) y envolver cada uno con un div con un id único, de forma que puedas manejar cada bloque por separado con css.

El problema (crero) es que este hook viene envuelto por un div
y es dificil manejar el diseño por separado .

Saludos
Link to comment
Share on other sites

Hola Mortim:

Esta es mi página que sufrirá transformaciones de estilo y diseño :

http://hostinguniversal.com/hwstore2/

La idea como puedes ver es colocar el buscador justo debajo del menú horizontal encima de la caja Etiquetas por ejemplo, y colocar la parte de block_userinfo (que actualmente he quitado) encima de la caja del carrito de compras , esto de acuerdo a un diseño que me han propuesto y la estructura es así como te dije.

Por eso lo que pienso es crear un nuevo hook por cada bloque , y con la función de colocar en un hook , ubicar esos bloques , que opinas?

Saludos Cordiales , gracias de antemano.

Link to comment
Share on other sites

Hola, pues por lo que comentas creo que no necesitas crear ningún nuevo hook ya que las 2 zonas o hooks en las que quieres colocar estos 2 bloques ya existen, solo tendrías que mover el blocksearch o buscador al hook "left" y el bloque de información de usuario pasarlo al right_column o right.

Para el buscador no tendrás problemas ya que el hook left ya está definido dentro del módulo y lo puedes mover sin más, sin embargo el bloque de informaci´n de usuario lo tendrás que retocar, primero para añadir el hook right_column en el código duplicando la función hook_top o algo así en block_user_info.php y despues para modificar el diseño en block_user_info.tpl.

Ya nos contarás, en definitiva has de saber que las posiciones en las que se puede ubicar un módulo deben estar definidas previamente en el código del módulo, para el buscador la posición que quieres ya está por lo que solo tienes que moverlo, en el otro caso tendrías que personalizarlo.

Saludos

Link to comment
Share on other sites

Buen día Mortim :

Y si pues , efectivamente sucedió lo que comentaste en cuanto a las columnas , pero seguí tu recomendación y ya logré ubicar los bloques donde quería , es más... aquí dejo el link para que vean como va el avance:

http://hostinguniversal.com/hwstore2/

Aún tengo más dudas Mortim, te las haré saber con el avance.

Por si acaso en blockuserinfo.php coloqué este código para que funcionara en la columna derecha :

public function hookRightColumn($params)
{
if (!$this->active)
return;
global $smarty, $cookie, $cart;
$smarty->assign(array(
'cart' => $cart,
'cart_qties' => $cart->nbProducts(),
'logged' => $cookie->isLogged(),
'customerName' => ($cookie->logged ? $cookie->customer_firstname.' '.$cookie->customer_lastname : false),
'firstName' => ($cookie->logged ? $cookie->customer_firstname : false),
'lastName' => ($cookie->logged ? $cookie->customer_lastname : false),
'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order'
));
return $this->display(__FILE__, 'blockuserinfo.tpl');

}

Saludos Mortim, estamos en contacto gracias por tu apoyo.

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...