Dejar cabecera fija en Prestashop 1.7

Gracias al usuario Vekia de la Comunidad de Prestashop, disponemos de un módulo gratuito para Prestashop 1.7, que permite dejar la cabecera de nuestra tienda Prestashop fija en todo momento, cuando hacemos scroll.

Cabecera Prestashop 1.7

Cabecera Prestashop 1.7

La instalación del módulo, no conlleva ninguna dificultad, simplemente lo hacemos desde la pestaña Módulos -> Módulos y Servicios Sigue leyendo

Print Friendly

Mostrar fabricantes ordenados alfabéticamente en Prestashop 1.7

Solución proporcionada por el usuario “nemo” de la Comunidad de Prestashop.


Traducción del tutorial oficial

Debemos ir al fichero:

/templates/catalog/brands.tpl (Es la plantilla de visualización (o modelo base) del listado de fabricantes en el front-office en Prestashop 1.7)

Y cambiamos su contenido por el siguiente:

{extends file=$layout}
{block name='content'}
<section id="main">
{block name='brand_header'}
<h1>{l s='Brands' d='Shop.Theme.Catalog'}</h1>
{/block}
{block name='brand_miniature'}
<div class="all-brands">
<div class="all-brands">
<ul class="letter-select clearifx">
<li><a href="#letter_0">#</a></li>
<li><a href="#letter_A">A</a></li>
<li><a href="#letter_B">B</a></li>
<li><a href="#letter_C">C</a></li>
<li><a href="#letter_D">D</a></li>
<li><a href="#letter_E">E</a></li>
<li><a href="#letter_F">F</a></li>
<li><a href="#letter_G">G</a></li>
<li><a href="#letter_H">H</a></li>
<li><a href="#letter_I">I</a></li>
<li><a href="#letter_J">J</a></li>
<li><a href="#letter_K">K</a></li>
<li><a href="#letter_L">L</a></li>
<li><a href="#letter_M">M</a></li>
<li><a href="#letter_N">N</a></li>
<li><a href="#letter_O">O</a></li>
<li><a href="#letter_P">P</a></li>
<li><a href="#letter_Q">Q</a></li>
<li><a href="#letter_R">R</a></li>
<li><a href="#letter_S">S</a></li>
<li><a href="#letter_T">T</a></li>
<li><a href="#letter_U">U</a></li>
<li><a href="#letter_V">V</a></li>
<li><a href="#letter_W">W</a></li>
<li><a href="#letter_X">X</a></li>
<li><a href="#letter_Y">Y</a></li>
<li><a href="#letter_Z">Z</a></li>
</ul>
<div class="brands-by-letter">
{$current_letter = '#'}
{foreach from=$brands item=brand}
{$first_letter = $brand.name|substr:0:1}
{if $current_letter != $first_letter}
{if !$first_letter|in_array:['0','1','2','3','4','5','6','7','8','9']}
{$current_letter = $first_letter|upper}
</div>
</div>
{/if}
<div class="box-letter clearfix" id="letter_{if $current_letter == '#'}0{else}{$current_letter|upper}{/if}">
<div class="box-title">{$current_letter|upper}</div>
<div class="letter-content">
{/if}
<p>
<a href="{$link->getManufacturerLink($brand.id_manufacturer)}">{$brand.name}</a>
</p>
{/foreach}
</div>
</div>
</div>
{/block}
</section>
{/block}

Sigue leyendo

Print Friendly

Comprobando mediante variable global si está activado SSL en Prestashop 1.7

Aunque tenemos un pequeño índice de las variables globales en Prestashop 1.7, no están comentadas todas, un ejemplo es el uso de la variable:

{$link.ssl_enable}

Esta variable nos indica un valor 0 si SSL está desactivado en Prestashop 1.7 y con un valor 1 si SSL está activado en Prestashop 1.7

Si queremos ver todo lo que podemos obtener de la variable: {$link} siempre podemos hacer un {$link|var_dump}

Documento basado en Prestashop 1.7.0.3

Print Friendly

¿No se ven las subcategorías en los listado de las categorías en Prestashop 1.7?

Más que una pregunta, era una afirmación pero siendo un poco original, prefiero colocar un titular amarillista…

Lo dicho, en Prestashop 1.7, no se ven las subcategorías cuando pinchas en una categoría.

¿Por qué?

Sencillo, no está implementada esa función a día de hoy en Prestashop 1.7.0.3

Muestro imágenes, para que veáis a lo que me refiero:

Al principio creía que era como pasaba en Prestashop 1.6, que no estaba chequeada en el “Configurador de temas” la opción: “Mostrar subcategorías”

Mostrar subcategorías en Prestashop 1.6

Mostrar subcategorías en Prestashop 1.6

Pero no…..

El problema viene debido a que en Prestashop 1.7.0.3, no tiene implementada esta función…

Tenemos varias soluciones por la Comunidad de Prestashop, en esta ocasión, vamos a obtener la solución que nos proporciona el usuario “nemo“.

Nos propone lo siguientes cambios:

1 – Modificar fichero TPL

Editamos el fichero:

/themes/classic/templates/catalog/listing/category.tpl

Donde tenemos el siguiente código:

Código Category.tpl en Prestashop 1.7

Código Category.tpl en Prestashop 1.7

Sigue leyendo

Print Friendly

Editor de textos avanzado en Prestashop 1.7

Gracias al usuario Vekia de la Comunidad de Prestashop, tenemos disponible una guía que nos permite habilitar funciones adicionales al editor de texto que tiene integrado Prestashop, cuando por ejemplo estamos escribiendo la descripción de la categoría, producto, etc..

Vekia, nos propone en su Guía, los siguientes cambios:

1º Paso – Editar fichero JS

Editamos el siguiente fichero “ /js/admin/tinymce.inc.js” y cambiamos el contenido del fichero por el siguiente código:

/**
* Change default icons to marerial icons
*/
function changeToMaterial() {
var materialIconAssoc = {
'mce-i-code': '<i class="material-icons">code</i>',
'mce-i-visualblocks': '<i class="material-icons">dashboard</i>',
'mce-i-charmap': '<i class="material-icons">grade</i>',
'mce-i-hr': '<i class="material-icons">remove</i>',
'mce-i-searchreplace': '<i class="material-icons">find_replace</i>',
'mce-i-none': '<i class="material-icons">format_color_text</i>',
'mce-i-bold': '<i class="material-icons">format_bold</i>',
'mce-i-italic': '<i class="material-icons">format_italic</i>',
'mce-i-underline': '<i class="material-icons">format_underlined</i>',
'mce-i-strikethrough': '<i class="material-icons">format_strikethrough</i>',
'mce-i-blockquote': '<i class="material-icons">format_quote</i>',
'mce-i-link': '<i class="material-icons">link</i>',
'mce-i-alignleft': '<i class="material-icons">format_align_left</i>',
'mce-i-aligncenter': '<i class="material-icons">format_align_center</i>',
'mce-i-alignright': '<i class="material-icons">format_align_right</i>',
'mce-i-alignjustify': '<i class="material-icons">format_align_justify</i>',
'mce-i-bullist': '<i class="material-icons">format_list_bulleted</i>',
'mce-i-numlist': '<i class="material-icons">format_list_numbered</i>',
'mce-i-image': '<i class="material-icons">image</i>',
'mce-i-table': '<i class="material-icons">grid_on</i>',
'mce-i-media': '<i class="material-icons">video_library</i>',
'mce-i-browse': '<i class="material-icons">attachment</i>',
'mce-i-checkbox': '<i class="mce-ico mce-i-checkbox"></i>',
};
$.each(materialIconAssoc, function (index, value) {
$('.' + index).replaceWith(value);
});
}
function tinySetup(config) {
if (!config) {
config = {};
}
if (typeof config.editor_selector != 'undefined') {
config.selector = '.' + config.editor_selector;
}
var default_config = {
selector: ".rte",
browser_spellcheck: true,
plugins : "visualblocks, preview searchreplace print insertdatetime, hr charmap colorpicker anchor code link image paste pagebreak table contextmenu filemanager table code media autoresize textcolor emoticons",
toolbar2 : "newdocument,print,|,bold,italic,underline,|,strikethrough,superscript,subscript,|,forecolor,colorpicker,backcolor,|,bullist,numlist,outdent,indent",
toolbar1 : "styleselect,|,formatselect,|,fontselect,|,fontsizeselect,",
toolbar3 : "code,|,table,|,cut,copy,paste,searchreplace,|,blockquote,|,undo,redo,|,link,unlink,anchor,|,image,emoticons,media,|,inserttime,|,preview ",
toolbar4 : "visualblocks,|,charmap,|,hr,",
external_filemanager_path: baseAdminDir + "filemanager/",
filemanager_title: "File manager",
external_plugins: {"filemanager": baseAdminDir + "filemanager/plugin.min.js"},
language: iso_user,
skin: "prestashop",
menubar: false,
statusbar: false,
relative_urls: false,
convert_urls: false,
entity_encoding: "raw",
valid_children: "+body[style|script|iframe|section],pre[iframe|section|script|div|p|br|span|img|style|h1|h2|h3|h4|h5],*[*]",
valid_elements : '*[*]',
force_p_newlines : false,
cleanup: false,
forced_root_block : false,
force_br_newlines : true,
convert_urls:true,
relative_urls:false,
remove_script_host:false,
init_instance_callback: "changeToMaterial"
};
$.each(default_config, function (index, el) {
if (config[index] === undefined)
config[index] = el;
});
// Change icons in popups
$('body').on('click', '.mce-btn, .mce-open, .mce-menu-item', function () {
changeToMaterial();
});
tinyMCE.init(config);
}

Sigue leyendo

Print Friendly

Mostrar bloque de productos destacados y mejores ventas en pestañas en Prestashop 1.7

Es una traducción del artículo de Vekia de la Comunidad de Prestashop donde nos comenta la posibilidad de mostrar los bloques de página principal referentes a Productos Destacados, Nuevos Productos, Promociones, etc.. de la misma forma que se visualiza en Prestashop 1.6.

Formato Pestañas Productos Página Principal - Prestashop 1.6

Formato Pestañas Productos Página Principal – Prestashop 1.6

En Prestashop 1.7 (al menos en la versión 1.7.0.3) los bloques de Nuevos, Populares, etc..  no se visualizan en formato de pestañas.

Vekia, nos propone las siguientes modificaciones, para conseguir que se vean en el mismo formato que lo veíamos en Prestashop 1.6

Paso 1 – Crear Hooks

Nos proporciona su módulo, creador de “Hooks”, que podemos descargarlo gratuitamente desde aquí: Descargar Módulo

Con este módulo vamos a crear dos “hooks”:

displayHomeTabdisplayHomeTabContent

Crear Hook displayHomeTab en Prestashop 1.7

Crear Hook displayHomeTab en Prestashop 1.7

Crear Hook displayHomeTabContent en Prestashop 1.7

Crear Hook displayHomeTabContent en Prestashop 1.7

Paso 2 – Editar Fichero TPL

Editamos el fichero:

/themes/classic/templates/index.tpl

En el que Vekia nos propone cambiar el siguiente contenido:

{extends file='page.tpl'}
{block name='page_content_container'}
<section id="content" class="page-home">{block name='page_content_top'}{/block}
{block name='page_content'}
{$HOOK_HOME nofilter}
{/block}</section>{/block}

Por el siguiente:

{extends file='page.tpl'}
    {block name='page_content_container'}
      <section id="content" class="page-home">
        {block name='page_content_top'}{/block}
        {block name='page_content'}
          {$HOOK_HOME nofilter}
          {assign var='HOOK_HOME_TAB_CONTENT' value=Hook::exec('displayHomeTabContent')}
          {assign var='HOOK_HOME_TAB' value=Hook::exec('displayHomeTab')}
          {if isset($HOOK_HOME_TAB_CONTENT) && $HOOK_HOME_TAB_CONTENT|trim}
            <div class="tabs">
                {if isset($HOOK_HOME_TAB) && $HOOK_HOME_TAB|trim}
                    <ul id="home-page-tabs" class="nav nav-tabs clearfix">
                        {$HOOK_HOME_TAB nofilter}
                    </ul>
                {/if}
                <div class="tab-content" id="tab-content">{$HOOK_HOME_TAB_CONTENT nofilter}</div>
             </div>
          {/if}
        {/block}
      </section>
    {/block}

En realidad, si nos estamos “fijando” hemos sustituido todo el contenido del fichero…

Antes:

Sigue leyendo

Print Friendly

¿Está el newsletter en el DisplayFooter en Prestashop 1.7?

displayFooterBefore en Prestashop 1.7

displayFooterBefore en Prestashop 1.7

Nos encontramos que tenemos el “pie de página” dividido en varios Bloques en Prestashop 1.7 (Actualmente estamos probando con Prestashop 1.7.0.3)

El hook donde está posicionado el formulario del Newsletter  “displayFooterBefore”

Esto lo podemos verificar si vamos a la pestaña Diseño -> Posiciones de los módulos (Atención, es posible que en un futuro se llame diferente la pestaña por el tema de las traducciones) Sigue leyendo

Print Friendly