pasteles1986 Posted December 18, 2013 Share Posted December 18, 2013 Buenas, Cree unas categorías, las que puse en el menu principal de la web, y para darle un toque personal a los elementos del menu, añadie en el nombre de la catagoarias algunas etiquetas html. En la BD las categorias tienen los nombres con las etiquetas, por lo que cuando en el breadcrumb estoy dentro de una categoria me sale la etiqueta html junto con el nombre. Una imagen vale más que mil palabras He estado tocando el el breadcrumb.tpl de mi plantilla y para que no me muestre las etiquetas html, he utilizado la función strip_tags, que en teoria las quita. Digo en teoría porque no consigo que las quite. He mirado la documentación de smartly y parece bastante sencillo (http://www.smarty.net/docsv2/es/language.modifier.strip.tags.tpl). He aqui el código que tengo para purgar los elementos hml, el cuál no consigo que los limpie {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <div class="breadcrumb_inset"> <a class="breadcrumb-home" href="{$base_dir}" title="{l s='Return to Home'}" rel="tooltip"><i class="icon-home"></i></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|escape:html:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page">{$path|strip_tags}</span> {else} {$path|strip_tags} {/if} {/if} </div> </div> Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 18, 2013 Share Posted December 18, 2013 (edited) Buenas, Cree unas categorías, las que puse en el menu principal de la web, y para darle un toque personal a los elementos del menu, añadie en el nombre de la catagoarias algunas etiquetas html. En la BD las categorias tienen los nombres con las etiquetas, por lo que cuando en el breadcrumb estoy dentro de una categoria me sale la etiqueta html junto con el nombre. Una imagen vale más que mil palabras He estado tocando el el breadcrumb.tpl de mi plantilla y para que no me muestre las etiquetas html, he utilizado la función strip_tags, que en teoria las quita. Digo en teoría porque no consigo que las quite. He mirado la documentación de smartly y parece bastante sencillo (http://www.smarty.net/docsv2/es/language.modifier.strip.tags.tpl). He aqui el código que tengo para purgar los elementos hml, el cuál no consigo que los limpie {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <div class="breadcrumb_inset"> <a class="breadcrumb-home" href="{$base_dir}" title="{l s='Return to Home'}" rel="tooltip"><i class="icon-home"></i></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|escape:html:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page">{$path|strip_tags}</span> {else} {$path|strip_tags} {/if} {/if} </div> </div> Hola, Yo soy un total novato, en la plantilla por defecto lo tengo asi: <!-- Breadcrumb --> {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <a href="{$base_dir}" title="{l s='Return to Home'}"><img src="{$img_dir}icon/home.gif" height="26" width="26" alt="{l s='Home'}" /></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|escape:html:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page">{$path}</span> {else} {$path} {/if} {/if} </div> <!-- /Breadcrumb --> Perdon, edito mi mensaje, prueba dejarlo asi: <!-- Breadcrumb --> {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <a href="{$base_dir}" title="{l s='Return to Home'}"><img src="{$img_dir}icon/home.gif" height="26" width="26" alt="{l s='Home'}" /></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|strip_tags:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page"> {$path|strip_tags:'UTF-8'}</span> {else} {$path|strip_tags:'UTF-8'} {/if} {/if} </div> <!-- /Breadcrumb --> Edited December 18, 2013 by Feliz Garcia (see edit history) Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 18, 2013 Share Posted December 18, 2013 (edited) He modificado mi mensaje de arriba, dejandote una modificacion, que se me habia olvidado pegarla, te cito el mensaje; Hola, Yo soy un total novato, en la plantilla por defecto lo tengo asi: <!-- Breadcrumb --> {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <a href="{$base_dir}" title="{l s='Return to Home'}"><img src="{$img_dir}icon/home.gif" height="26" width="26" alt="{l s='Home'}" /></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|escape:html:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page">{$path}</span> {else} {$path} {/if} {/if} </div> <!-- /Breadcrumb --> Perdon, edito mi mensaje, prueba dejarlo asi: <!-- Breadcrumb --> {if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if} <div class="breadcrumb"> <a href="{$base_dir}" title="{l s='Return to Home'}"><img src="{$img_dir}icon/home.gif" height="26" width="26" alt="{l s='Home'}" /></a> {if isset($path) AND $path} <span class="navigation-pipe" {if isset($category) && isset($category->id_category) && $category->id_category == 1}style="display:none;"{/if}>{$navigationPipe|strip_tags:'UTF-8'}</span> {if !$path|strpos:'span'} <span class="navigation_page"> {$path|strip_tags:'UTF-8'}</span> {else} {$path|strip_tags:'UTF-8'} {/if} {/if} </div> <!-- /Breadcrumb --> De todos modos, como he dicho soy novato, muy novato, no se si funcionara. Recuerda que tienes que forzar compilacion en la pestaña Parametros Avanzados -> Rendimiento. Edited December 18, 2013 by Feliz Garcia (see edit history) Link to comment Share on other sites More sharing options...
pasteles1986 Posted December 18, 2013 Author Share Posted December 18, 2013 Es que estoy trabajando sobre una plantilla que me he pillado. Lo que comentas, creo que lo probé... de todas formas mañana lo pruebo y lo comento. Un saludo Link to comment Share on other sites More sharing options...
pasteles1986 Posted December 19, 2013 Author Share Posted December 19, 2013 (edited) La compilación la tengo forzada. He añadido lo de UTF-8 y me sigue sin salir Estoy empezando a dudar que sea este fichero... porque esto mismo lo he probado cuando se indica el número de productos de una categoría y me sale bien. Vamos y básicamente para las categorías he puesto lo mismo. {$category->name|strip_tags} Pero es que deben de ser ese if... porque si lo elimino no me muestra nada! Edited December 19, 2013 by pasteles1986 (see edit history) Link to comment Share on other sites More sharing options...
pasteles1986 Posted December 23, 2013 Author Share Posted December 23, 2013 ¿Alguna novedad? Muchas Gracias ! Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 23, 2013 Share Posted December 23, 2013 (edited) Que raro, con strip_tag se tenia que corta y imprimir plenamente..... ¿Si vacias el fichero, te muestra o no el contenido, es que parece como si no fuera el fichero? ¿Has probado por si acaso: escape:'htmlall':'UTF-8' http://www.smarty.net/docsv2/es/language.modifier.escape.tpl ? ¿Algo asi: {$category->name|escape:'htmlall':'UTF-8'} ? Edited December 23, 2013 by Feliz Garcia (see edit history) Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 23, 2013 Share Posted December 23, 2013 (edited) Tambien podria ser que tuvieras que mirar el fichero: /classes/Tools.php La funcion: public static function getPath Observo que dentro de esa funcion, aparece varias veces esto: htmlentities($category['name'], ENT_NOQUOTES, 'UTF-8') Y buscando en la documentacion de php, me sale esto: http://php.net/manual/es/function.htmlentities.php en referencia a lo de htmlentities no se si sirve de ayuda.. Edited December 23, 2013 by Feliz Garcia (see edit history) Link to comment Share on other sites More sharing options...
pasteles1986 Posted December 24, 2013 Author Share Posted December 24, 2013 Gracias!! ya lo he conseguido. He probado con {$path|escape:'htmlall'} Pero lo que hace es convertirme los caracteres HTML Y bueno he estado echando un ojo al archivo que me has comentado de Tools.php, y es aquí donde lo conseguido. mas exactamente en la línea : $full_path .=(($n < $n_categories || $link_on_the_item) ? '<a href="'.Tools::safeOutput($context->link->getCategoryLink((int)$category['id_category'], $category['link_rewrite'])).'" title="'.htmlentities($category['name'], ENT_NOQUOTES, 'UTF-8').'">' : ''). htmlentities($category['name'], ENT_NOQUOTES, 'UTF-8'). (($n < $n_categories || $link_on_the_item) ? '</a>' : ''). (($n++ != $n_categories || !empty($path)) ? '<span class="navigation-pipe">'.$pipe.'</span>' : ''); Que básicamente he sustituido el htmlentities por strip_tags. $full_path .=(($n < $n_categories || $link_on_the_item) ? '<a href="'.Tools::safeOutput($context->link->getCategoryLink((int)$category['id_category'], $category['link_rewrite'])).'" title="'. strip_tags($category['name']).'">' : ''). strip_tags($category['name']). (($n < $n_categories || $link_on_the_item) ? '</a>' : ''). (($n++ != $n_categories || !empty($path)) ? '<span class="navigation-pipe">'.$pipe.'</span>' : ''); Lo que no se es como has llegado tú hasta este archivo para saber que tenia que mirar por aquí porque yo pensaba que era cosa del sistema de plantillas smartly ya que me desconcertaba esta línea. {assign var='path' value=$smarty.capture.path} Un saludo y gracias! Link to comment Share on other sites More sharing options...
Feliz Garcia Posted December 24, 2013 Share Posted December 24, 2013 (edited) Basicamente, lo que hice fue hacer una busqueda en google y me salio ese fichero. Bueno, si esta solucionado, creo que te toca añadir la palabra solucionado al titulo del tema: http://www.prestashop.com/forums/topic/269515-solucionado-¿como-poner-la-palabra-solucionado-en-el-titulo-del-tema/ Edited December 24, 2013 by Feliz Garcia (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted December 24, 2013 Share Posted December 24, 2013 Como parece que el tema se ha solucionado, añado la palabra "Solucionado" al titulo del tema y procedo a cerrarlo. Gracias a todos por colaborar con la Comunidad de Prestashop Link to comment Share on other sites More sharing options...
Recommended Posts