ManTheCavern Posted December 5, 2012 Share Posted December 5, 2012 Hola, Tras mucho tiempo investigando como solucionarlo, no doy por un solucion asi que consulto aqui. Tengo una tienda en prestashop, y despues del nombre de los productos no me añade el nombre de la tienda. He comprobado en las versiones por defecto y ocurre lo mismo, no lo añade. Mi version: 1.4.6.2 He comprobado la 1.4.9 y 1.5 y pasa lo mismo. ¿Como se podria añadir para que saliera el nombre de la tienda despues del nombre del producto? Creo que la mejor solucion podria ser añadiendo X codigo en el product.tpl del theme para que despues del nombre apareciera el nombre de la tienda pero no he conseguido que lo haga. ¿Alguna solucion? Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 10, 2012 Author Share Posted December 10, 2012 ¿Alguien que sepa solucionar este error? Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 15, 2012 Author Share Posted December 15, 2012 Sigo sin encontrar una solucion. Seguro que a muchos les ocurre esto. Venga haber si le damos solucion. Link to comment Share on other sites More sharing options...
jmmayoral Posted December 15, 2012 Share Posted December 15, 2012 Si lo que quieres es simplemente añadir en cada producto el nombre de la tienda, se me ocurre hacerlo a nivel de base de datos, pero la pega es que lo tendrás que hacer periódicamente para que se vayan actualizando los productos que vas creando... o cuando crees el producto, tenerlo en cuenta y meterlo a mano junto con el nombre. Abres el PhpMyAdmin y ejecutas esta sentencia sql: UPDATE `ps_product_lang` set name=concat(rtrim(name),' <nombre_de_tienda>') WHERE name not like '%<nombre_tienda%>'; ejemplo: UPDATE `ps_product_lang` SET name=concat(rtrim(name,)' elitecocina.com') WHERE name not like '%elitecocina.com%'; Notas: -el nombre de la tienda debe ir entre comillas simples -entre la primera comilla y la primera letra del nombre de la tienda dejar un espacio en blanco o cualquier otro caracter con el que quieras separar el nombre del producto y el de la tienda, porque la función RTRIM lo que hace es eliminar todos los espacios en blanco que haya a la derecha del nombre del producto. - El 'WHERE' lo he puesto para que sólo actualice los nombres de productos que NO tengan ya el nombre de la tienda, si no se pone ,cada vez que se ejecute la sentencia añadirá de nuevo el nombre de la tienda. - Esto actualizará el nombre para TODOS los idiomas. si se quiere actualizar el nombre sólo en un idioma, añadir antes del punto y coma final ( lo siguiente: AND id_lang=<id_del_idioma a cambiar>. En mi caso, si quiero cambiar los del idioma español añadiría: AND id_lang=3 - Antes de hacerlo, haz un backup de la tabla ps_product_lang Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted December 17, 2012 Share Posted December 17, 2012 Si lo que quieres es simplemente añadir en cada producto el nombre de la tienda, se me ocurre hacerlo a nivel de base de datos, pero la pega es que lo tendrás que hacer periódicamente para que se vayan actualizando los productos que vas creando... o cuando crees el producto, tenerlo en cuenta y meterlo a mano junto con el nombre. Abres el PhpMyAdmin y ejecutas esta sentencia sql: UPDATE `ps_product_lang` set name=concat(rtrim(name),' <nombre_de_tienda>') WHERE name not like '%<nombre_tienda%>'; ejemplo: UPDATE `ps_product_lang` SET name=concat(rtrim(name,)' elitecocina.com') WHERE name not like '%elitecocina.com%'; Notas: -el nombre de la tienda debe ir entre comillas simples -entre la primera comilla y la primera letra del nombre de la tienda dejar un espacio en blanco o cualquier otro caracter con el que quieras separar el nombre del producto y el de la tienda, porque la función RTRIM lo que hace es eliminar todos los espacios en blanco que haya a la derecha del nombre del producto. - El 'WHERE' lo he puesto para que sólo actualice los nombres de productos que NO tengan ya el nombre de la tienda, si no se pone ,cada vez que se ejecute la sentencia añadirá de nuevo el nombre de la tienda. - Esto actualizará el nombre para TODOS los idiomas. si se quiere actualizar el nombre sólo en un idioma, añadir antes del punto y coma final ( lo siguiente: AND id_lang=<id_del_idioma a cambiar>. En mi caso, si quiero cambiar los del idioma español añadiría: AND id_lang=3 - Antes de hacerlo, haz un backup de la tabla ps_product_lang Gracias por el aporte. Un Saludo, Link to comment Share on other sites More sharing options...
jmmayoral Posted December 17, 2012 Share Posted December 17, 2012 ¿Alguien que sepa solucionar este error? ¿te sirvió la ayuda? Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 20, 2012 Author Share Posted December 20, 2012 ¿te sirvió la ayuda? Hola, Pues al final no he hecho eso, ya que una vez utilice un modulo que realiza eso, y comete un gran error, y es que si el met titulo, tiene para 300 caracteres y el titulo del producto hay escritos 200 y el titulo de la tienda son 150, no salen los 150, es decir, completo, si no que sale solo parte y eso no me interesa Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 20, 2012 Author Share Posted December 20, 2012 ¿Alguna otra forma de hacerlo? ¿Se podria añadir algo en el product.tpl para que añadiera el titulo de la tienda? Link to comment Share on other sites More sharing options...
jmmayoral Posted December 21, 2012 Share Posted December 21, 2012 Bufff. Desconozco tu tienda, pero ¿estás seguro que necesitas 150 caracteres para el título de la tienda? ¿Y 200 para un nombre de producto? ¿No es mejor poner un nombre más corto y el resto de lo que tengas que poner meterlo en la descripción corta? Link to comment Share on other sites More sharing options...
phoneval Posted December 21, 2012 Share Posted December 21, 2012 Si lo que quieres es que aparezca el nombre de la tienda después del titulo h1 en el producto bastaría con ponerlo esto en el archivo que estas indicando: <div id="pb-left-column"> <h1>{$product->name|escape:'htmlall':'UTF-8'} - NOMBRE TIENDA</h1> pero si lo que quieres es que aparezca en la etiqueta tittle es una opción que ya viene por defecto en prestashop, tendrías que editar el archivo header.tpl <head> <title>{$meta_title|escape:'htmlall':'UTF-8'} - NOMBRETIENDA</title> {if isset($meta_description) AND $meta_description} <meta name="description" content="{$meta_description|escape:html:'UTF-8'}" /> {/if} pero como ya te digo esto viene por defecto así que lo pondrías dos veces. Otra cosa que deberías saber es que los buscadores no les gustan los títulos tan largos, pierden importancia contra mas largos sean, no es aconsejable que tengan mas de 70 caracteres. Link to comment Share on other sites More sharing options...
jesa Posted December 21, 2012 Share Posted December 21, 2012 A ver, por ir por partes, creo que lo que buscas no es cuestión de corregir ningún error, desconozco los motivos por los que quieres añadir el nombre de la tienda al nombre del producto pero tús razones tendrás, a mi parecer no es algo habitual. A partir de ahí, si lo único que pretendes es que salga el nombre a continuación del nombre del producto en la ficha del producto, bastaría con añadir el nombre de la tienda en product.tpl xq entrar a modificar la bbdd te puedes encontrar con el límite de caracteres que permite la bbdd. Como digo, todo depende del fin que busques...también tendrás que modificar los estilos de tu tienda en caso de que no se muestre todo xq posiblemente esté definido para que no se desborde. En todo caso, al modificación sería la siguiente: <h1>{$product->name|escape:'htmlall':'UTF-8'} - {$shop_name|escape:'htmlall':'UTF-8'}</h1> Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted December 21, 2012 Share Posted December 21, 2012 (edited) Hola, Tras mucho tiempo investigando como solucionarlo, no doy por un solucion asi que consulto aqui. Tengo una tienda en prestashop, y despues del nombre de los productos no me añade el nombre de la tienda. He comprobado en las versiones por defecto y ocurre lo mismo, no lo añade. Mi version: 1.4.6.2 He comprobado la 1.4.9 y 1.5 y pasa lo mismo. ¿Como se podria añadir para que saliera el nombre de la tienda despues del nombre del producto? Creo que la mejor solucion podria ser añadiendo X codigo en el product.tpl del theme para que despues del nombre apareciera el nombre de la tienda pero no he conseguido que lo haga. ¿Alguna solucion? Si solo es para el producto, prueba esto: Fichero: header.tpl de tu plantilla Busca esto: <title>{$meta_title|escape:'htmlall':'UTF-8'}</title> Y lo dejas asi: <title>{$meta_title|escape:'htmlall':'UTF-8'} - {if $page_name=="product"} {l s='Titulo de la Tienda'} {/if}</title> Edited December 24, 2012 by Rubalcaba (see edit history) Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted December 21, 2012 Share Posted December 21, 2012 (edited) Si lo que quieres es que aparezca el nombre de la tienda después del titulo h1 en el producto bastaría con ponerlo esto en el archivo que estas indicando: <div id="pb-left-column"> <h1>{$product->name|escape:'htmlall':'UTF-8'} - NOMBRE TIENDA</h1> pero si lo que quieres es que aparezca en la etiqueta tittle es una opción que ya viene por defecto en prestashop, tendrías que editar el archivo header.tpl <head> <title>{$meta_title|escape:'htmlall':'UTF-8'} - NOMBRETIENDA</title> {if isset($meta_description) AND $meta_description} <meta name="description" content="{$meta_description|escape:html:'UTF-8'}" /> {/if} pero como ya te digo esto viene por defecto así que lo pondrías dos veces. Otra cosa que deberías saber es que los buscadores no les gustan los títulos tan largos, pierden importancia contra mas largos sean, no es aconsejable que tengan mas de 70 caracteres. No es necesario duplicar dos veces la etiqueta title. Se puede hacer como se comenta aquí: Si solo es para el producto, prueba esto: Fichero: header.tpl de tu plantilla Busca esto: <title>{$meta_title|escape:'htmlall':'UTF-8'}</title> Y lo dejas asi: <title>{$meta_title|escape:'htmlall':'UTF-8'} - {if $page_name=="product"} {l s='Titulo de la Tienda'} {/if}</title> Edited December 24, 2012 by Rubalcaba (see edit history) Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 28, 2012 Author Share Posted December 28, 2012 Ufff, perdonar por no contestar pero no me llegan los correos de las respuestas, tengo que revisar el "spam" Creo que me explique mal. Mi cuestión es añadir el titulo de la tienda después del nombre del producto, en el titulo del navegador, no donde vemos el titulo de una producto. Mi nombre de tienda es corto, se que google no le gustan los títulos largos. Probare lo que alguno ha dicho y os cuento. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted December 28, 2012 Share Posted December 28, 2012 Mejor deja el title en el header.tpl así: (Lógicamente como tienes comentado anteriormente, sustituyéndolo por el que ya tienes en el header.tpl de tu plantilla) <title>{$meta_title|escape:'htmlall':'UTF-8'} - {if $page_name=="product"} {$shop_name|escape:'htmlall':'UTF-8'} {/if}</title> que con el{l s=''} (Como te indique en mensajes anteriores)Saludos Guapo.Besitos Link to comment Share on other sites More sharing options...
ManTheCavern Posted December 30, 2012 Author Share Posted December 30, 2012 (edited) Me vuelvo a explicar ya que creo que no me habéis entendido. No quiero añadir después del titulo del producto (<h1>nombre producto</h1>) el nombre de la tienda. Lo que quiero es, que aparezca el nombre de la tienda después del nombre del producto en el navegador. Por ejemplo, en este foro, este tema se llama: "Titulo después del nombre del producto" y a continuación aparece "Prestashop forums", esto es lo que quiero. Quiero esto: nombre producto - nombre tienda o en su defecto lo que yo quiera poner Muchos habláis del header.tpl, aquí esto no ha de ponerse, tendría que ser en el product.tpl, pero he probado con "ls" y algún código mas, y no lo consigo. Edited December 30, 2012 by ManTheCavern (see edit history) Link to comment Share on other sites More sharing options...
phoneval Posted January 1, 2013 Share Posted January 1, 2013 Ese titulo que dices es una etiqueta que se llama tittle de html, por eso si quieres modificarlo tienes que editar el archivo header.tpl que es donde se especifica que ira en esa etiqueta title, si lo que quieres es que solo aparezca en los productos deberás hacerlo con algo de programación asegurandote que cuando lo que vaya a mostrar sea un producto muestre el titulo como tu quieres y para todo lo demás que lo muestre de otra forma. También puedes intentar hacerlo vía javascript, desconozco si es posible pero de serlo te será mucho mas fácil ya que puedes poner la instrucción que modifique la etiqueta tittle desde el propio product.tpl. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted January 1, 2013 Share Posted January 1, 2013 Ese titulo que dices es una etiqueta que se llama tittle de html, por eso si quieres modificarlo tienes que editar el archivo header.tpl que es donde se especifica que ira en esa etiqueta title, si lo que quieres es que solo aparezca en los productos deberás hacerlo con algo de programación asegurandote que cuando lo que vaya a mostrar sea un producto muestre el titulo como tu quieres y para todo lo demás que lo muestre de otra forma. Esto mismo, se ha explicado en este post: http://www.prestashop.com/forums/index.php?/topic/208844-titulo-tienda-despues-del-nombre-del-producto/page__view__findpost__p__1045835 http://www.prestashop.com/forums/index.php?/topic/208844-titulo-tienda-despues-del-nombre-del-producto/page__view__findpost__p__1049566 Link to comment Share on other sites More sharing options...
phoneval Posted January 2, 2013 Share Posted January 2, 2013 Esto mismo, se ha explicado en este post: http://www.prestasho...ost__p__1045835 http://www.prestasho...ost__p__1049566 Si rubalcabra, fui el primero en explicarlo, pero se lo he intentado explicar con otras palabras para que lo entienda y aparte he aportado otra posible solución. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted January 2, 2013 Share Posted January 2, 2013 Si rubalcabra, fui el primero en explicarlo, pero se lo he intentado explicar con otras palabras para que lo entienda y aparte he aportado otra posible solución. Si, pero parece que no esta de acuerdo con ninguna solución... o que no le funciona ninguna segun comenta. (Pero es extraño, yo las he probado y funcionar, de funcionar me ha funcionado...) Saludos Link to comment Share on other sites More sharing options...
Recommended Posts