Jump to content

cambiar presentación vista productos por defecto SOLUCIONADO


XavRov

Recommended Posts

hola, necesito poder cambiar la vista de presentación de productos por defecto que me sale dentro de una categoría. Actualmente los cuando accedes a una categoría los productos se ven uno al dado de otro en grupos de 3 y yo lo que quiero que es por defecto aparezcan en lista una debajo de otro "product view list". He estado mirando el código pero no se ni donde, que debo de cambiar.

 

Alguien que me pueda ayudar???

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

hola, necesito poder cambiar la vista de presentación de productos por defecto que me sale dentro de una categoría. Actualmente los cuando accedes a una categoría los productos se ven uno al dado de otro en grupos de 3 y yo lo que quiero que es por defecto aparezcan en lista una debajo de otro "product view list". He estado mirando el código pero no se ni donde, que debo de cambiar.

 

Alguien que me pueda ayudar???

 

¿Url de tu tienda, para darte la mejor solución?

Link to comment
Share on other sites

(Ya entiendo... lo que quieres hacer, tu plantilla ya tiene integrada la funcionalidad del grid y el list por defecto, y quieres mostrar el list por defecto y actualmente se te muestra el grid por defecto)

Prueba esto...

A ver si tenemos suerte...

En el fichero:
 

/themes/theme329/product-sort.tpl

Busca esto:
 

<ul class="product_view">
<li id="product_view_grid" class="current"></li>
<li id="product_view_list"></li>
</ul>

Y dejalo asi:
 

<ul class="product_view">
<li id="product_view_list" class="current" ></li>
<li id="product_view_grid" ></li>
</ul>

Despues en el fichero:

/themes/theme329/product-list.tpl

 
Busca esto:
 

{if isset($products)}


<div id="product_list_grid" class="box">
<ul>
	{foreach from=$products item=product name=products}
	<li class="ajax_block_product bordercolor">
		<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
		<h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:25:'...'|escape:'htmlall':'UTF-8'}</a></h3>		
		{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
			{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
		{/if}
	</li>
	{/foreach}
</ul>
</div>

<div id="product_list_list" class="bordercolor box visible">
<ul class="bordercolor">
	{foreach from=$products item=product name=products}
	<li class="ajax_block_product bordercolor">
		<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
		<div class="center_block">
			<div class="product_flags">
				{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}
				{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}<span class="availability bordercolor">{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}<span class="bordercolor">{l s='Product available with different options'}</span>{else}<span class="bordercolor">{l s='Out of stock'}</span>{/if}</span>{/if}
				{if isset($product.online_only) && $product.online_only}<span class="online_only bordercolor">{l s='Online only!'}</span>{/if}
			</div>
			<h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name}</a></h3>
			<p class="product_desc"><a class="product_descr" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:400:'...'|strip_tags:'UTF-8'}</a></p>
		</div>																				 
		<div class="right_block">
			{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
			{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>
			{/if}
			{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
				{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
			{/if}
			{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
				{if ($product.allow_oosp || $product.quantity > 0)}
					<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
				{else}
					<span class="exclusive">{l s='Add to cart'}</span>
				{/if}
			{/if}
			<a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
			{if isset($comparator_max_item) && $comparator_max_item}
				<p class="compare checkbox"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>
			{/if}				
		</div>
	</li>
	{/foreach}
</ul>
{if $comparator_max_item}
	<script type="text/javascript">
	// <![CDATA[
		var min_item = '{l s='Please select at least one product.' js=1}';
		var max_item = "{l s='You cannot add more than' js=1} {$comparator_max_item} {l s='product(s) in the product comparator' js=1}";
	//]]>
	</script>
	<form class="product_compare" method="get" action="{$link->getPageLink('products-comparison.php')}" onsubmit="true">
		<input type="submit" class="button" value="{l s='Compare'}" />
		<input type="hidden" name="compare_product_list" class="compare_product_list" value="" />
	</form>
{/if}
</div>




{/if}

y dejalo asi:

{if isset($products)}

<div id="product_list_list" class="bordercolor box visible">
<ul class="bordercolor">
	{foreach from=$products item=product name=products}
	<li class="ajax_block_product bordercolor">
		<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
		<div class="center_block">
			<div class="product_flags">
				{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}
				{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}<span class="availability bordercolor">{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}<span class="bordercolor">{l s='Product available with different options'}</span>{else}<span class="bordercolor">{l s='Out of stock'}</span>{/if}</span>{/if}
				{if isset($product.online_only) && $product.online_only}<span class="online_only bordercolor">{l s='Online only!'}</span>{/if}
			</div>
			<h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name}</a></h3>
			<p class="product_desc"><a class="product_descr" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:400:'...'|strip_tags:'UTF-8'}</a></p>
		</div>																				 
		<div class="right_block">
			{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
			{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>
			{/if}
			{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
				{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
			{/if}
			{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
				{if ($product.allow_oosp || $product.quantity > 0)}
					<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
				{else}
					<span class="exclusive">{l s='Add to cart'}</span>
				{/if}
			{/if}
			<a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
			{if isset($comparator_max_item) && $comparator_max_item}
				<p class="compare checkbox"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>
			{/if}				
		</div>
	</li>
	{/foreach}
</ul>
{if $comparator_max_item}
	<script type="text/javascript">
	// <![CDATA[
		var min_item = '{l s='Please select at least one product.' js=1}';
		var max_item = "{l s='You cannot add more than' js=1} {$comparator_max_item} {l s='product(s) in the product comparator' js=1}";
	//]]>
	</script>
	<form class="product_compare" method="get" action="{$link->getPageLink('products-comparison.php')}" onsubmit="true">
		<input type="submit" class="button" value="{l s='Compare'}" />
		<input type="hidden" name="compare_product_list" class="compare_product_list" value="" />
	</form>
{/if}
</div>

<div id="product_list_grid" class="box">
<ul>
	{foreach from=$products item=product name=products}
	<li class="ajax_block_product bordercolor">
		<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
		<h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:25:'...'|escape:'htmlall':'UTF-8'}</a></h3>		
		{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
			{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
		{/if}
	</li>
	{/foreach}
</ul>
</div>


{/if}

No se te olvide una vez realizado los cambios, ir a la pestaña Preferencias -> Rendimiento y señalar Forzar Compilación -> SI, para que se apliquen los cambios.

(Aunque creo, que vas a tener que modificar algún js.. no creo que funcione lo que te he comentado)

Link to comment
Share on other sites

Ya lo tienes arreglado o al menos eso creo, en el product-list.tpl te cambio el orden de los elementos )

 

Ahora ya se te ve por defecto los producto en lista, no como antes que por defecto se te veían en grid.

 

PD: Limpia cache y cookies de tu navegador si no vieras los cambios..

Link to comment
Share on other sites

perdona pero el cuerpo ya no aguantaba y a las 7:00 hay que estar en pie.

Está perfecto ahora si se muestra como yo quiero.

Como siempre, muchas gracias eres una gran ayuda.

Un placer ayudarte y servirte!

 

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

 

---

 

Mensaje editado:

 

PD: Por cierto, usas una plantilla de template monster, por lo que al final, en la misma web de template monster lo tienes explicado: http://www.templatemonster.com/help/es/prestashop-how-to-change-default-products-listing-view.html

Link to comment
Share on other sites

  • 2 weeks later...

Hola,

A mi me pasa lo contrario, por defecto quiero mostrar en grid y no en list. He estado mirando product-list.tpl, ya que dices que ahí es donde cambiaste el orden de los elementos.... pero por más que intento entender lo que pone no logro dar con la clave...

 

Me podrías decir un poco por donde hay que tocar?

 

Gracias!

 

----> Código del product-list.tpl

 

 

{if isset($products)}

<!-- Products list -->

<ul id="product_list" class="clear">

{foreach from=$products item=product name=products}

<li class="ajax_block_product bordercolor item-{$smarty.foreach.products.iteration}">

<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home-list')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" /></a>

<div class="center_block">

<div class="product_flags">

{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}{if isset($product.online_only) && $product.online_only} ({l s='Online only!'}){/if}</span>{/if}

</div>

<h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}</a></h3>

<p class="product_desc"><a class="product_descr" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:350:'...'|strip_tags:'UTF-8'}</a></p>

<p class="product_desc_grid"><a class="product_descr" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:100:'...'|strip_tags:'UTF-8'}</a></p>

</div>

<div class="right_block">

{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>

{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>

{/if}

{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}

{/if}

{if isset($comparator_max_item) && $comparator_max_item}

<p class="compare checkbox"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>

{/if}

{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}

{if ($product.allow_oosp || $product.quantity > 0)}

<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}"><span>{l s='Add to cart'}</span></a>

{else}

<span class="exclusive">{l s='Add to cart'}</span>

{/if}

{/if}

 

<a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>

 

</div>

</li>

{/foreach}

</ul>

<!-- /Products list -->

{/if}

Link to comment
Share on other sites

Evita abrir temas solucionados,

 

Abre un nuevo tema en el foro con tu duda, exponiendo la url de tu web, y todos los detalles, esto ayudara a mantener una mayor organización en el foro.

 

PD: En este caso concreto iba integrado el grid y el list en la plantilla de template monster sin necesidad de ningún modulo adicional, por eso te comento que abras un tema nuevo para tu duda.

 

Si en tu caso usas este modulo: http://www.prestashop.com/forums/topic/141303-free-prestashop-module-products-in-categories-as-list-or-grid-using-jquery-for-ps13-and-ps14/ edita el fichero Cookie.php que te puedes descargar con el modulo.

Link to comment
Share on other sites

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