Jump to content

Añadir un texto solo para una categoría y sus subcategorías.


Recommended Posts

Hola de nuevo,

 

me gustaría añadir un texto de dos o tres palabras en una categoría y que fuera visible solo en esa categoría y sus sub-categorias y los productos que cuelgan de ella.

Intento explicarme mejor, digamos que tengo 10 categorías, de esas 10 categorias cuelgan otras 10 subcategorías y de alguna de esas subcategorías otra sub-subcategoría.

Me gustaría que cuando un cliente entra en una categoría específica añadirle un texto corto pero que se repita en todas las subcategorías y en el producto que está en esa subcategoría. ¿es esto posible?

 

muchas gracias.

 

Josep Ma

Link to comment
Share on other sites

puedes editar el category.tpl de tu template, o el product.tpl de tu template, y añadir un IF , por ejemplo, para el category.tpl

 

{if $category->id_category eq "1"} esto es el texto {/if}

 

 

el "1" seria el id de la categoria

 

 

recuerda forzar compilacion

Link to comment
Share on other sites

Gracias por la respuesta, he conseguido con tus indicaciones que aparezca en la categoría indicada, pero no se repite en las subcategorías. ¿Es posible que se repita este texto dentro de las subcategorias? ¿puedes indicarme como?

 

muchas gracias

Link to comment
Share on other sites

Ventura, gracias por tus respuestas. Esta solución casi me vale, entiendo lo que hace la función. El "problema" es que tengo 2 subcategorías, Categoría 28->28.1->28.2 ¿se podría hacer que se vea en las subcategorías 28.2? También me gustaría implementar esto en los artículos de estas categorías. Entiendo que se pongo este if en product.tpl lo pondrá en todos los productos.

 

muchas gracias de nuevo por la ayuda.

Link to comment
Share on other sites

no, esta variable no te funcionará en el product.tpl, con la variables a las que puedes acceder desde el product.tpl podrias hacer esto

{if $product->id_category_default ==2} <---Texto a mostrar ----> {/if}

Asi mostraria mensaje a todos los productos que tiene categoria por defecto id2

Link to comment
Share on other sites

Esta vez no lo he conseguido, no aparece el texto cuando habro un producto. ¿Tengo que ponerlo en algún lugar concreto del product.tpl?

Tienes que ponerlo donde lo quieras mostrar xD

 

Ejemplo, ponlo debajo de la:

				<div id="short_description_block">

que es el bloque que engloba a la descripcion corta.

 

Escribe al lado Hola Mundo o algo, para ver si es que no se imrpime nada o es que es la variable la que no funciona xD

Link to comment
Share on other sites

como te he comentado para que aparezca tiene en los productos tiene que tener asociada ese id de categoria por defecto, si solo está asociado a la categoria no aparecerá, para hacer lo que quieres tienes que incluir en el ProductController la funcion

public static function getProductCategories

Esta funcion te permite hacer un foreach de las categorias asociadas del producto y con el poder hacer los condicionales

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

Mostrar todas las categorías asociadas al producto en la ficha del producto: http://mypresta.eu/en/art/developer/display-all-product-categories-on-product-page.html (Teniendo esa idea de enlace dentro del foreach

 {foreach from=Product::getProductCategoriesFull(Tools::getValue('id_product')) item=cat}

puedes hacer el

{if $cat.id_category=='X'}XXX{/if}
Link to comment
Share on other sites

como te he comentado para que aparezca tiene en los productos tiene que tener asociada ese id de categoria por defecto, si solo está asociado a la categoria no aparecerá, para hacer lo que quieres tienes que incluir en el ProductController la funcion

public static function getProductCategories

Esta funcion te permite hacer un foreach de las categorias asociadas del producto y con el poder hacer los condicionales

 

A que te refieres a "tener asociada esa id de categoria por defecto" ¿Lo podrías explicar para torpes? :) Muchas gracias.

 

 

Mostrar todas las categorías asociadas al producto en la ficha del producto: http://mypresta.eu/en/art/developer/display-all-product-categories-on-product-page.html (Teniendo esa idea de enlace dentro del foreach

 {foreach from=Product::getProductCategoriesFull(Tools::getValue('id_product')) item=cat}

puedes hacer el

{if $cat.id_category=='X'}XXX{/if}

Esto que comenta en el enlace está muy bién, pero no es lo que estaba buscando ahora, a mi me interesa poner un texto que se repita en cada producto de una categoría y subcategorías determinadas. ¿puedes explicar donde tendría que meter esto?

 

gracias a los dos por la paciencia.

 

Josep Ma

Link to comment
Share on other sites

Lo suyo es llamar a la funcion desde el controlador no directamente desde la clase pero de la manera que dice vekia y de la que hace referencia el usuario rafaelamargo te resultar mas facil.

 

Coloca el foreach donde quieras que aparezca el texto

{foreach from=Product::getProductCategoriesFull(Tools::getValue('id_product')) item=cat}
 {if $cat.id_category=='X'}<---texto aqui --->{/if}
{/foreach}

 

De esta manera te incluira el mensaje en todos los productos que tengan asociada la categoria, el parent o el depth de categorias no estaria incluida asi que tendrias que incluir los id de esas subcategorias asociadas a cada categoria

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

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