Child pages
  • Posiciones de los módulos en el Front-Office
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Posiciones de los módulos en el Front-Office

Un módulo puede tener dos aspectos: uno en el back-office (sus opciones, o incluso su pantalla de configuración), y el otro en el front-office. La parte front-office corresponde a cómo y dónde se mostrará el módulo en su tema.

La posición de un módulo en su tema puede ser cambiada, porque es posible que desee que el bloque de un módulo esté posicionado más arriba (o más abajo) en la página que otros. En la jerga PrestaShop, a esta acción se la denomina "trasplante", y se realiza mediante la herramienta disponible en la página "Posiciones de los módulos", bajo el menú "Módulos". En realidad, ésta le permite conectar un módulo a uno de los muchos hooks disponibles en el tema actual, sin necesidad de escribir ningún código.

La página "Posiciones de los módulos" le muestra todos los hooks disponibles, así como los módulos correspondientes que están conectados a ellos. Muchos están vacíos por defecto, pero la mayoría utilizan  fácilmente una docena de módulos (el hook displayHeader, perteneciente a la cabecera de la tienda, tiene 33 módulos de forma predeterminada).

En la parte superior de la página, un menú desplegable le permite mostrar sólo el hook en el que esté interesado.
De forma predeterminada, la lista sólo muestra los hooks en los cuales puede posicionar módulos. Al marcar la casilla "Mostrar hooks invisibles" se mostrarán todos los hooks, incluso aquellos en donde no puede colocar nada.

La cabecera de la tabla para cada hook muestra el nombre del hook, su nombre técnico (para algunos de ellos, una rápida descripción), y su número de módulos conectados. La tabla muestra los módulos que están conectados a ese hook.

Los módulos son mostrados en el orden en el que aparecen en el hook.

Mover un módulo dentro de un hook

Tienes dos maneras de cambiar la posición de un módulo dentro de un hook:

  • Haciendo clic en las flechas arriba o abajo. La página se actualizará y mostrará el nuevo orden.
  • Arrastrando y soltando el módulo a la posición deseada:
    1. Coloque el cursor del ratón entre las flechas de movimiento y el nombre del módulo para que este cambie a un cursor de "movimiento de elementos". Lo reconocerá porque el cursor se convierte en una cruz.
    2. Haga clic con el botón derecho del ratón y manténgalo presionado, mientras mueve el cursor del ratón a la fila / posición deseada: el módulo pasará a ocupar la fila / posición correspondiente.
    3. Suelte el botón derecho del ratón: para guardar la nueva posición del módulo.

Para la mayoría de los módulos, el trasplante se puede hacer fácilmente a través del back-office. Algunos módulos requieren una modificación en su código para poder trasplantarlos.

Insertar un módulo en un hook: Trasplantar

En PrestaShop, "trasplantar" es la acción de insertar un módulo en un hook. Puede añadir un módulo a más de un hook.

Hay dos cosas que debe conocer antes de trasplantar un módulo:

  • Algunos módulos están escritos para sólo poder conectarlos a un conjunto de hooks específicos.
  • Algunos hooks han sido desarrollados para no aceptar ciertos tipos de módulos.

Por lo tanto, sea consciente de que no siempre puede trasplantar cualquier módulo a cualquier hook.

Asegúrese de desactivar la caché cuando añada un nuevo módulo a un hook, o lo cambie de posición , ya que no podrá ver el cambio producido en el front-office. Puede hacer esto en la página "Rendimiento", bajo el menú "Parámetros avanzados".

El proceso de trasplante tiene su propia interfaz:

  1. Diríjase a la página "Posiciones de los módulos", disponible en el menú "Módulos".
  2. Haga clic en el botón "Insertar un hook" situado en la parte superior derecha. La interfaz de trasplante de módulos, aparecerá en pantalla.
  3. En la lista desplegable "Módulo", seleccione el módulo que desea trasplantar.
  4. En la lista desplegable "Insertar hook en", seleccione el lugar donde quiere trasplantar el módulo. Hay muchos hooks disponibles. Puede cambiar su decisión más tarde si es necesario.
  5. En el campo "Excepciones", escriba el nombre del archivo(s) correspondiente(s) a las páginas en las que no desea que el módulo aparezca.
    Puede realizar una selección múltiple, haciendo clic en los nombres de archivo mientras mantiene pulsada la tecla Ctrl. Puede anular la selección de los archivos de la misma manera: Ctrl + clic.
  6. No olvide guardar sus cambios.

El menú desplegable "Insertar hook en" le ofrece información sobre dónde puede colocar el módulo.

A pesar de que en la lista desplegable "Insertar hook en" le ofrece una vista global de los hooks disponibles, no siempre puede ser del todo esclarecedora, sobre cuando se trata de encontrar un punto en particular donde insertar su módulo. No dude en probar con otro hook, si el resultado de su elección no es el que esperaba.
La lista le da algunos detalles más: algunos hooks tienen tras su nombre una breve descripción de lo que hacen, por ejemplo " Add fields to the form 'attribute value'" para displayAttributeForm. Examínelos a todos con detenimiento con el fin de elegir el hook correcto.

Editar un módulo trasplantado

Cada módulo tiene dos iconos en el lado derecho de su fila: uno para editar su configuración, el otro para eliminar el módulo.

Para editar la configuración de un módulo se utiliza la misma interfaz que para el trasplante de módulos. La principal diferencia es que no puede cambiar la configuración de "Módulo" e "Insertar hook en", ya que están deshabilitados, y por tanto aparecerán en color gris. Tan solamente puede cambiar la configuración de las excepciones, que funciona como se ha descrito en la sección anterior "Insertar un módulo a un hook: Trasplantar".
Aunque no pueda editar la configuración de "Módulo" y de "Insertar hook en", estos pueden servirle para que recuerde la posición actual del módulo, en caso de que más tarde desee volver a posicionarlo en su sitio originario.

Si quiere mover un módulo a otro hook, debe utilizar la interfaz de trasplante:

  1. Haga clic en el botón "Insertar un hook" situado en la parte superior derecha. La interfaz de trasplante de módulos, aparecerá en pantalla.
  2. En la lista desplegable "Módulo", seleccione el módulo que desea mover a otro hook.
  3. En la lista desplegable "Insertar hook en", seleccione el lugar donde quiere trasplantar el módulo.
  4. En el campo "Excepciones", escriba el nombre del archivo(s) correspondiente(s) a las páginas en las que no desea que el módulo aparezca.
  5. Guarde sus cambios. El hook aparece en la lista.
  6. Diríjase al hook en el que ha trasplantado el módulo: este debe aparecer aquí. Cambie su posición si es necesario.
  7. Diríjase al hook donde estaba el módulo originariamente, y haga clic en el icono de la papelera para eliminarlo de este hook. Esto evita que el mismo módulo aparezca dos veces.

Siempre debe comprobar el front-office de su tienda, para asegurarse de que el módulo aparece en donde desea.

Eliminar un módulo de un hook

Hay dos maneras de eliminar un módulo(s) de un hook:

  • Eliminar un sólo módulo: haga clic en el icono del bote de basura situada a la derecha de la fila del módulo.
  • Eliminar un lote de módulos: seleccione los módulos marcando las casillas situadas a la derecha de la fila, y luego haga clic en el botón "Eliminar hooks seleccionados", que encontrará tanto en la parte superior como en  la parte inferior del listado de hooks.

Trasplantar un módulo visualmente: Live Edit

Otra forma de posicionar los módulos en la página principal de la tienda es mediante el modo LiveEdit, que incrusta en dicha página de inicio una herramienta que le permite decidir visualmente dónde colocar los módulos. Puede acceder a esta desde la página "Posiciones de los módulos", haciendo clic en el botón "Inicie LiveEdit".

Al hacer clic en este botón, PrestaShop abre la página inicial de la tienda en una nueva ventana / pestaña de su navegador, con el Live Edit script en la parte superior de la pantalla:

  • Todos los bloques de módulos tienen un borde de puntos rojos, que le permite observar los bloques que puede mover.
  • En la parte superior izquierda de cada bloque, aparece unos iconos específicos, junto con el nombre del bloque, que le permite encontrar fácilmente los diferentes bloques.
  • La parte superior derecha de cada bloque, muestra dos iconos:
    1. Un icono "mover": haga clic sobre éste para empezar a mover el módulo por la página.
    2. Un icono "papelera": haga clic sobre éste para eliminar el bloque de la página inicial.

En la parte superior del modo Live Edit, una barra de herramientas le presenta dos botones: "Cerrar Live Edit" y "Guardar".

El primer botón guarda los cambios realizados; el segundo botón cancela todos los cambios que haya realizado en las posiciones de sus módulos durante esta sesión.

Una vez que haya eliminado un módulo, si quiere recuperarlo y que este regrese a su tienda, debe dirigirse a la página "Posiciones de los módulos" y utilizar el formulario "Trasplantar un módulo".

¿A dónde mover los módulos?

Los módulos no se pueden mover a cualquier lugar: esto depende tanto de los hooks disponibles en el tema, como del código fuente del módulo que puede permitir o no conectarlo a ciertos hooks (como se explicó en la sección anterior). Por lo tanto, sólo puede mover los módulos dentro del contexto para el que fueron diseñados y programados: los módulos diseñados para trabajar en columnas pueden ser posicionados dentro de una columna, así como trasplantarlos de una columna a otra (por ejemplo, de izquierda a derecha), mientras que los módulos comunes (los que está en el centro) sólo pueden ser posicionados dentro de su columna específica.

Para que tenga una ayuda visual sobre donde puede mover un módulo, PrestaShop le mostrará un bloque vacío con un borde punteado de color verde: si la ubicación es permitida, y un bloque vacío con un borde punteado de color rojo: si no puede moverlo a esa ubicación.

Trasplantar un módulo modificando su código

Esta opción es indicada tan sólo para usuarios expertos: debe tener un amplio conocimiento de PHP y HTML antes de realizar cualquier modificación a un módulo.

Algunos módulos no pueden ser trasplantados en otras secciones del front-office, porque carecen del código necesario.

Por ejemplo, el bloque "Búsqueda rápida" (/blocksearch) contiene archivos de plantilla para mostrarse tanto en las columnas como en la cabecera, mientras que el bloque "Monedas" (/blockcurrencies) sólo tiene un archivo de plantilla para hacerlo funcionar en la sección cabecera de la página. Del mismo modo, el bloque "Productos destacados" (/homefeatured) sólo puede ser posicionado en la sección central de la página principal.

Si quiere mostrar los módulos, como el bloque "Monedas" a una posición para la cual no fue programado, debe editar los archivos de su plantilla.
  Los módulos más complejos, como el bloque "Productos Destacados", también se pueden modificar para aparecer en otras secciones de la página, pero puede ser que tengan que ser reprogramados parcialmente para que su diseño sea funcional en la nueva ubicación.

Para personalizar la posibilidad de trasplantar un módulo, debe dar a este la función PHP exacta para el hook de destino. Por ejemplo, el bloque "Moneda" tiene esta función:

function hookTop($params)
  {
  ...
  }

Para trasplantar el bloque "Monedas" en la columna derecha, por ejemplo, necesita añadir la función hookRightColumn():

function hookRightColumn($params)
  {
  ...
  }

Una vez hecho esto, debe escribir el código que mostrará el contenido de la página principal. En el mejor de los casos, esto significa copiar/pegar el contenido de la función hookTop(); en el peor de los casos, necesita reescribir el contenido de la función hookTop() para que funcione en la nueva ubicación.

  • No labels