Jump to content

Combinaciones de productos


jmrufus

Recommended Posts

Buenos días todos compañeros.

 

Como en otras tantas ocasiones, recurro a vosotros para solicitaros ayuda o consejo y solucionar el tema que os indico a continuación.

 

Tengo una tienda con la versión 1.5.4. y en ella tengo productos con combinaciones realizadas.

 

Lo que me gustaría conseguir es que al navegar por la tienda, aquellos productos que tengas combinaciones muestren el texto ver modelos disponibles como enlace para ver su ficha completa. En el caso de que el producto no tenga combinaciones aplicadas el texto a mostrar como enlace sería ver modelo disponible.

 

No sé si esto es posible. Me gustaría muchísimo que alguien me pueda ayudar o indicarme que debe hacer.

 

Un saludo a todos y gracias por la labor que realizáis.

 

 

Link to comment
Share on other sites

si son colores, puedes utilizar este codigo editando el tpl product-list.tpl de tu template

 

{if isset($product.color_list)}
<div >{l s='View available models'}</div>
{/else}
<div >{l s='View available model'}</div>
{/if}
 
 
luego lo traduces desde el back office
Link to comment
Share on other sites

Hola shacker.

 

En primer lugar agradecerte tú ayuda. Pero me surge una duda:

 

¿Dentro del archivo product-list.tpl da igual el lugar donde coloque el código?

 

Un saludo.

 

No da igual, debe ir justo donde está el botón que estás editando ya que si no se hace así el maquetado de la página no quedaría bien y podría quedar en otro lado.

Link to comment
Share on other sites

Hola.

 

He seguido vuestro consejo y he modificado el archivo product.list siguiendo vuestras indicaciones

 

{if isset ($product.color.list)}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View available models'}</a>
{/else}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
{/if}
 
Pero al cargar el archivo la página se queda en blanco y no lista ningún producto.
 
¿Qué estoy haciendo mal?
 
Un saludo.
Link to comment
Share on other sites

 

Hola.

 

He seguido vuestro consejo y he modificado el archivo product.list siguiendo vuestras indicaciones

 

{if isset ($product.color.list)}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View available models'}</a>
{/else}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
{/if}
 
Pero al cargar el archivo la página se queda en blanco y no lista ningún producto.
 
¿Qué estoy haciendo mal?
 
Un saludo.

 

Según este código que copiaste.

 

es {else} y no {/else}

Link to comment
Share on other sites

Hola stevengiraldo.

 

Gracias por tú aclaración, efectivamente ahora si se visualizan correctamente los productos y en el back end me han aparecido los textos indicados en el if para su traducción, pero en el listado de productos no me esta contemplando la función product.color.list y no me esta descriminando el texto.

 

¿Que me aconsejas que revise?

 

Un saludo.

Link to comment
Share on other sites

Debes editar el archivo product-list.tpl dentro de la carpeta de tu tema (dentro de la carpeta "themes" buscas el nombre de tu tema, si no has instalado ninguno la carpeta que buscas es la que se llama default) y buscar cerca de la línea 71 (en mi caso) verás una linea mas o menos así:

<div class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="

Debes reemplazar a partir de esa linea seleccionando TODO el código a continuación:

<div class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" >{$product.description_short|strip_tags:'UTF-8'|truncate:36:'...'}</a></div>
							<!--- <a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a> -->
								{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)}
											{if isset($static_token)}
												<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}&token={$static_token}", false)}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
											{else}
												<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", false)}" title="{l s='Add to cart'} ">{l s='Add to cart'}
												</a>
											{/if}						
										{else}
											<span class="exclusive">{l s='Add to cart'}</span>
										{/if}
								{/if}
		
							</div>

y luego reemplazarlo por este otro:

<div class="product_desc">
								{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)}
											{if isset($static_token)}
												<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="Ver" >Ver modelo disponible</a>
											{else}
												<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="Ver" >Ver modelo disponible</a>
											{/if}						
										{else}
											<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="Ver" >Ver modelo disponible</a>
										{/if}
										{else}
											<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="Ver" >Ver modelos disponibles</a>
								{/if}
		</div>

Lo importante es que te fijes a partir de <div class="product_desc"> hasta el primer </div> que logres diferenciar y lo reemplaces por el código que te he pasado.

Cualquier duda consultame o si prefieres, publica tu archivo product-list.tpl para que lo edite por ti. Espero haberte ayudado  B)

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

Buenas tardes a todos.

 

En primer lugar os pido disculpas por no haber podido responder antes pero hasta ahora no he podido retomar este tema.

 

Os agradezco enormemente toda la ayuda que me estáis prestando con este tema.

 

He seguido los pasos que me habéis indicado y he aplicado los distintos cambios sobre el fichero product-list.tpl pero siento decir que sigo sin ver el resultado esperado.

 

Por este motivo, os adjunto dicho fichero para que al menos me podáis decir si los cambios que me indicáis están bien aplicados y poder descartar que el problema sea que no lo estoy haciendo de manera adecuada o por el contrario el problema sea otro.

 

Un cordial saludo a todos y gracias de nuevo.

 

product-list.zip

 

 

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Estimado shacker

 

Perdona por la demora pero por motivos varios he estado un poco desconectado de este mundo, Vuelvo a la carga con este tema que me encantaría solucionarlo aunque solo sea por motivación propia.

 

En tú último post me decias que cambiara el modo de mi tienda (grid o list) y recargar la tienda.

 

Me podrías indicar como hacerlo.

 

Un saludo.

Link to comment
Share on other sites

Dejalo asi

{if isset($product.color_list) && $product.color_list !=''}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View available models'}</a>
{else}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
{/if}
Link to comment
Share on other sites

 

Dejalo asi

{if isset($product.color_list) && $product.color_list !=''}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View available models'}</a>
{else}
<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
{/if}

 

Hola ventura.

 

He modificado el código tal y como me indica y he podido comprobar que al acceder al listado de productos si entra en el if, pero me da la sensación de que la variable $product.color_list no recibe nada.

product-list.zip

Link to comment
Share on other sites

que version de Prestashop tienes instalada ¿?. La funcion que genera la variable que muestra las opciones en los productos con combinaciones de color, $product.color_list, se incluyo en 1.6 y posteriores, si tu version de Prestashop es anterior no puede funcionar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...