Jump to content

Sacar home slider de la columna central (SOLUCIONADO)


caleone

Recommended Posts

Buenas noches.

 

Estoy intentando sacar el módulo del homeslider de la columna central en el home de mi sitio. He seguido algún tuto que he encontrado por ahí que consiste en modificar "a lo bruto" el hook que utiliza dicho módulo cambiando el id del hook de manera que convertimos el hook de displayHome en el displayTop. Luego modificamos el php del homeslider y hasta aquí se puede decir que todo funciona. Se consigue subir el slider justo debajo del menú horizontal. Adjunto imagen

 

imagenkj.jpg

 

El problema es que ahora dicho slider ha pasado de formar parte del home a verse en el resto de páginas del sitio (evidentemente, el hook ya no es "exclusivo" del home). Mi duda es si alguien podría decirme qué es lo que debo editar para que el slider no se vea en el resto de páginas del sitio, sólo en el home.

 

Creo que los tiros van por editar el homeslider.tpl poniendo algún condicional que verifique que estamos en 'index' y entonces ponemos el hook

 

Algo parecido a esto:

 

{if $page_name == 'index'}

<div class="bx-wrapper" style="width:980px; position:relative;">

{$HOOK_TOP}

</div>

{/if}

 

No sé, estoy probando bastantes cosas pero no logro dar con la clave. A ver si alguien puede arrojar un poquito de luz.

 

Muchas gracias :D :D

 

P.D: Utilizo el tema por defecto (bueno, una copia del mismo) y ps 1.5.4.1

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

Tienes que ir a "Módulos -> Posiciones -> Trasladar un módulo"

 

Seleccionas el módulo (homeslider) y añades las excepciones. Si las añades todas, sólo se verá en la página principal de la tienda.

 

Un saludo!

 

 

 

 

 

PD: Está bien esto de ir pasando de pedir ayuda a ofrecerla... ;-)

  • Like 1
Link to comment
Share on other sites

Hola Serex. Había pensado en esa opción, pero quería dejarlo en plan "bonito", modificando el código pertiente. Es para un proyecto que tengo que presentar. No obstante, tengo claro que si no consigo hacerlo de este modo, optaré por las excepciones como bien dices. Gracias por responder tan rápido :P

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

Buenas noches.

 

Estoy intentando sacar el módulo del homeslider de la columna central en el home de mi sitio. He seguido algún tuto que he encontrado por ahí que consiste en modificar "a lo bruto" el hook que utiliza dicho módulo cambiando el id del hook de manera que convertimos el hook de displayHome en el displayTop. Luego modificamos el php del homeslider y hasta aquí se puede decir que todo funciona. Se consigue subir el slider justo debajo del menú horizontal. Adjunto imagen

 

imagenkj.jpg

 

El problema es que ahora dicho slider ha pasado de formar parte del home a verse en el resto de páginas del sitio (evidentemente, el hook ya no es "exclusivo" del home). Mi duda es si alguien podría decirme qué es lo que debo editar para que el slider no se vea en el resto de páginas del sitio, sólo en el home.

 

Creo que los tiros van por editar el homeslider.tpl poniendo algún condicional que verifique que estamos en 'index' y entonces ponemos el hook

 

Algo parecido a esto:

 

{if $page_name == 'index'}

<div class="bx-wrapper" style="width:980px; position:relative;">

{$HOOK_TOP}

</div>

{/if}

 

No sé, estoy probando bastantes cosas pero no logro dar con la clave. A ver si alguien puede arrojar un poquito de luz.

 

Muchas gracias :D :D

 

P.D: Utilizo el tema por defecto (bueno, una copia del mismo) y ps 1.5.4.1

 

Si el modulo ya lo has trasladado al "Top of pages", como comento aquí: http://victor-rodena...prestashop-1-5/ no tienes que trasladarlo otra vez.

 

La opción mas sencilla, es ir a la pestaña Módulos -> Posiciones, donde veras un listado de bloques enorme, hay busca el bloque diga

 

"Top of pages"

 

Hay veras el modulo:

 

Imagen de control deslizante para su página web

 

(Logicamente lo veras hay si lo has trasladado siguiente esta guia: http://victor-rodena...prestashop-1-5/ )

 

Bueno, veras que al lado del nombre del modulo, aparece un icono de un lapiz, si pulsas te mandara a un formulario, donde podras meter en que paginas no quieres que se vea el modulo.

 

La otra opcion, es ir al fichero:

 

/modules/homeslider/homeslider.tpl

 

/themes/tu-plantilla/modules/homeslider/homeslider.tpl

 

Buscar esto:

 

<!-- Module HomeSlider -->
{if isset($homeslider)}
<script type="text/javascript">
{if isset($homeslider_slides) && $homeslider_slides|@count > 1}
{if $homeslider.loop == 1}
 var homeslider_loop = true;
{else}
 var homeslider_loop = false;
{/if}
{else}
var homeslider_loop = false;
{/if}
var homeslider_speed = {$homeslider.speed};
var homeslider_pause = {$homeslider.pause};
</script>
{/if}
{if isset($homeslider_slides)}
<ul id="homeslider">
{foreach from=$homeslider_slides item=slide}
{if $slide.active}
 <li>
  <a href="{$slide.url|escape:'htmlall':'UTF-8'}" title="{$slide.description|escape:'htmlall':'UTF-8'}">
  <img src="{$smarty.const._MODULE_DIR_}/homeslider/images/{$slide.image|escape:'htmlall':'UTF-8'}" alt="{$slide.legend|escape:'htmlall':'UTF-8'}" height="{$homeslider.height|intval}" width="{$homeslider.width|intval}" />
  </a>
 </li>
{/if}
{/foreach}
</ul>
{/if}
<!-- /Module HomeSlider -->

 

Y dejarlo asi:

 

{if $page_name=='index'}
<!-- Module HomeSlider -->
{if isset($homeslider)}
<script type="text/javascript">
{if isset($homeslider_slides) && $homeslider_slides|@count > 1}
{if $homeslider.loop == 1}
 var homeslider_loop = true;
{else}
 var homeslider_loop = false;
{/if}
{else}
var homeslider_loop = false;
{/if}
var homeslider_speed = {$homeslider.speed};
var homeslider_pause = {$homeslider.pause};
</script>
{/if}
{if isset($homeslider_slides)}
<ul id="homeslider">
{foreach from=$homeslider_slides item=slide}
{if $slide.active}
 <li>
  <a href="{$slide.url|escape:'htmlall':'UTF-8'}" title="{$slide.description|escape:'htmlall':'UTF-8'}">
  <img src="{$smarty.const._MODULE_DIR_}/homeslider/images/{$slide.image|escape:'htmlall':'UTF-8'}" alt="{$slide.legend|escape:'htmlall':'UTF-8'}" height="{$homeslider.height|intval}" width="{$homeslider.width|intval}" />
  </a>
 </li>
{/if}
{/foreach}
</ul>
{/if}
<!-- /Module HomeSlider -->
{/if}

 

Pero, recuerda que si usas la versión 1.5.4.1, en este caso no te vale solo con forzar compilacion en la pestaña Parametros Avanzados -> Rendimiento, ademas tienes que vaciar la cache de smarty. (Directorio: /cache/smarty/cache/ (menos el fichero index.php), o usar directamente este modulo: http://www.prestasho...s-compile-ps15/ )

Link to comment
Share on other sites

Un placer ayudarte !

 

Ya me contaras, si hubo éxito o fracaso.

 

El placer es mío, sin duda! jaja. Qué rabía, sabía que era un condicional (ya había usado uno para "esconder" la columna derecha en el home, pero había un hook de por medio que ahora no hay) pero lo ponía en mal sitio.

 

Ya funciona perfectamente como quiero.

 

Otra "pequeña" duda a la que le estoy dando vueltas es: En algunas páginas del sitio (las de las distintas categorías que tengo creadas) me gustaría poner un slider de ese tipo en el que se vean las imágenes de los productos de dicha categoría. No todos evidentemente, quizá los más vendidos, o los nuevos productos de esa categoría o ir actualizando las imágenes a mano.

 

La duda viene a ser, ¿para poner otros sliders del tipo al del home, sería buena solución hacer un copy paste de la carpeta del homeslider renombrándola? Digamos que necesitaría 5 ó 6 sliders distintos que tendrían distintas imágenes unos de otros.

 

Si es factible la opción del copy paste, ¿qué habría que modificar en los ficheros para cambiar los nombres de los módulos (para saber luego cuál es cuál y poder configurarlos)?

Link to comment
Share on other sites

El placer es mío, sin duda! jaja. Qué rabía, sabía que era un condicional (ya había usado uno para "esconder" la columna derecha en el home, pero había un hook de por medio que ahora no hay) pero lo ponía en mal sitio.

 

Ya funciona perfectamente como quiero.

 

Otra "pequeña" duda a la que le estoy dando vueltas es: En algunas páginas del sitio (las de las distintas categorías que tengo creadas) me gustaría poner un slider de ese tipo en el que se vean las imágenes de los productos de dicha categoría. No todos evidentemente, quizá los más vendidos, o los nuevos productos de esa categoría o ir actualizando las imágenes a mano.

 

La duda viene a ser, ¿para poner otros sliders del tipo al del home, sería buena solución hacer un copy paste de la carpeta del homeslider renombrándola? Digamos que necesitaría 5 ó 6 sliders distintos que tendrían distintas imágenes unos de otros.

 

Si es factible la opción del copy paste, ¿qué habría que modificar en los ficheros para cambiar los nombres de los módulos (para saber luego cuál es cuál y poder configurarlos)?

 

Un placer ayudarte y servirte!

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

 

Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso.

 

PD: Para nuevas dudas, tal como establecen las normas del foro, tienes que abrir un tema nuevo.

Link to comment
Share on other sites

Tienes más razón que un santo, doy el tema por solucionado. Ahora edito el título y abriré uno nuevo. Muchas gracias por la ayuda.

Gracias a usted por confiar en la Comunidad de Prestashop.

Link to comment
Share on other sites

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