Jump to content
Victor Castro Contreras

[Aporte] Ocultar precio del producto cuando es CERO - Prestashop 1.5

Recommended Posts

He traído para la comunidad una pequeña solución rápida para aquellos que siempre han querido que no se vea el precio del producto cuando es 0 (cero)

Esta es la Solución:
 
Para versión 1.6.x
 
/themes/default-bootstrap/css/product_list.css
Original

linea 197:
ul.product_list.grid > li .product-container .content_price {
    padding-bottom: 9px;
    line-height: 21px;
}

Despues


linea 197:
ul.product_list.grid > li .product-container .content_price {
    padding-bottom: 9px;
    line-height: 21px;
    display:none;
}

para apoyarte puedes escribirme a victor@castrocontreras.com o llamarme mis números actualizados están en www.castrocontreras.com

Edited by Victor Castro Contreras (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Tema movido a Modulos gratis, sobrecargas y otras astucias que cambian la vida.

Share this post


Link to post
Share on other sites

gracias victor una pregunta mas , si en vez de mostrar cero quiero muestre gratis que debo hacer? de antemano muchas gracias amigo

Edited by Monacho (see edit history)

Share this post


Link to post
Share on other sites

Hola.

Se podría adaptar para que cuando la opción de mostrar el precio en prestashop 1.5.6. esta desactvada salga la frase "consultar el precio" ?

Share this post


Link to post
Share on other sites

en mi ignorancia he intentado modificar tu código para que la frase de consultar precio salga cuando la opcion "disponible para ordenar" este desactivada, o sea para que cuando no se pueda pedir salga lo de consultar, pero lo unico que consigo es que salga siempre cuando se pueda pedir y cuando no. Te envío lo que he hecho. También en el "product list" que no salga nada en las mismas circunstancias. gracias anticipadas.

 

product.tpl

 

 

<div class="price">
<p class="our_price_display">
 {if $priceDisplay >= 0 && $priceDisplay <= 2 and available_for_order neq 0}
<span id="our_price_display">{convertPrice price=$productPrice}</span>
<!--{if $tax_enabled  && ((isset($display_tax_label) && $display_tax_label == 1) OR !isset($display_tax_label))}
{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
{/if}-->
{else} <span style="font-size: 18px; "><b>Consultar precio</b></span>
{/if}
  • Like 1

Share this post


Link to post
Share on other sites

gracias por el aporte, el unico fallo que encuentro es que en la lista de productos aun sale el precio de 0,00.

Share this post


Link to post
Share on other sites

gracias por el aporte, el unico fallo que encuentro es que en la lista de productos aun sale el precio de 0,00.

 

Bueno no es un fallo, el aporte de Bean es para product.tpl, si quieres hacer lo mismo en product_list.tpl tendras que abrir este fichero, ver donde aparece el precio y cambiarlo por otro IF

Share this post


Link to post
Share on other sites

Bueno no es un fallo, el aporte de Bean es para product.tpl, si quieres hacer lo mismo en product_list.tpl tendras que abrir este fichero, ver donde aparece el precio y cambiarlo por otro IF

He probado a modificar el product-list.tpl, añadiéndole style="{if $productPrice == 0} display:none {/if}" en la línea de los 2 div que corresponde, pero me oculta el precio de todos los productos de la lista, no sólo de los que su precio es cero, por algún extraño motivo se salta el if $productPrice == 0 y aplica sólo el display:none.

 

¿Alguna sugerencia?

Share this post


Link to post
Share on other sites

hola amigo... no se si ya lo has solucionado, pero la solución es modificarlo asi:

style="{if $product.price == 0} display:none {/if}
Edited by jonysi_d (see edit history)

Share this post


Link to post
Share on other sites

y si por ejemplo quieres que te muestre un texto establecido:

 

antes de la lines del <div class"content_price .....

 

le añades esto:

{if $product.price == 0} 
				
				<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="precio personalizado">
				
				
				<span style="font-size:15px;">{l s='calcular precio'}</span></a>
				 {/if}

de esta manera harás un link al producto.

Edited by jonysi_d (see edit history)

Share this post


Link to post
Share on other sites

Hola de nuevo , lo he conseguido poniendo esto

<span style="color: #339966;"><span style="font-size:25px;"<strong>GRATIS</strong></span>

pero sigo sin poder quitar el precop 0 del productlist.tpl

Share this post


Link to post
Share on other sites

Alguien sabe en qu elinea del product-list.top

hay qu eponer

style="{if $product.price == 0} display:none {/if}

seria de agradecer

Share this post


Link to post
Share on other sites

Hola jjryeste.......  :

 <div class="content_price "style="{if $product.price == 0} display:none {/if}">

luego va el codigo de la plantillila que será algo así:

 {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price megaproduct=$product.id_product}{else}{convertPrice price=$product.price_tax_exc megaproduct=$product.id_product}{/if}</span>{/if}  
			{/if}	
			
		
			
			{if ((isset($product.on_sale) && $product.on_sale) || (isset($product.reduction) && $product.reduction)) && $product.price_without_reduction > $product.price && $product.show_price AND !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
                                                <p class="price_container"><span class="old_price_home">
                                                  {convertPrice price=$product.price_without_reduction}
                                                </span></p>{else}<div style="height:21px;"></div>{/if}

y después cierras el div :

</div>
Edited by jonysi_d (see edit history)

Share this post


Link to post
Share on other sites

no tengo eso mi codigo es este y no se donde ponerlo, gracias

 

{*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2014 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{if isset($products) && $products}
    {*define numbers of product per line in other page for desktop*}
    {if $page_name !='index' && $page_name !='product'}
        {assign var='nbItemsPerLine' value=3}
        {assign var='nbItemsPerLineTablet' value=2}
        {assign var='nbItemsPerLineMobile' value=3}
    {else}
        {assign var='nbItemsPerLine' value=4}
        {assign var='nbItemsPerLineTablet' value=3}
        {assign var='nbItemsPerLineMobile' value=2}
    {/if}
    {*define numbers of product per line in other page for tablet*}
    {assign var='nbLi' value=$products|@count}
    {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}
    {math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}
    <!-- Products list -->
    <ul{if isset($id) && $id} id="{$id}"{/if} class="product_list grid row{if isset($class) && $class} {$class}{/if}{if isset($active) && $active == 1} active{/if}">
    {foreach from=$products item=product name=products}
        {math equation="(total%perLine)" total=$smarty.foreach.products.total perLine=$nbItemsPerLine assign=totModulo}
        {math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet}
        {math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineMobile assign=totModuloMobile}
        {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
        {if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if}
        {if $totModuloMobile == 0}{assign var='totModuloMobile' value=$nbItemsPerLineMobile}{/if}
        <li class="ajax_block_product{if $page_name == 'index' || $page_name == 'product'} col-xs-12 col-sm-4 col-md-3{else} col-xs-12 col-sm-6 col-md-4{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLine == 0} last-in-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLine == 1} first-in-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModulo)} last-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 0} last-item-of-tablet-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 1} first-item-of-tablet-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 0} last-item-of-mobile-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 1} first-item-of-mobile-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModuloMobile)} last-mobile-line{/if}">
            <div class="product-container" itemscope itemtype="http://schema.org/Product">
                <div class="left-block">
                    <div class="product-image-container">
                        <a class="product_img_link"    href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url">
                            <img class="replace-2x img-responsive" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" />
                        </a>
                        {if isset($quick_view) && $quick_view}
                            <a class="quick-view" href="{$product.link|escape:'html':'UTF-8'}" rel="{$product.link|escape:'html':'UTF-8'}">
                                <span>{l s='Quick view'}</span>
                            </a>
                        {/if}
                        {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
                            <div class="content_price"
                            {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
                                    <span itemprop="price" class="price product-price">
                                        {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
                                        </span>
                                    <meta itemprop="priceCurrency" content="{$priceDisplay}" />
                                    {if isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
                                        <span class="old-price product-price">
                                            {displayWtPrice p=$product.price_without_reduction}
                                        </span>
                                        {if $product.specific_prices.reduction_type == 'percentage'}
                                            <span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
                                        {/if}
                                    {/if}
                                {/if}
                            </div>
                        {/if}
                        {if isset($product.new) && $product.new == 1}
                            <span class="new-box">
                                <span class="new-label">{l s='New'}</span>
                            </span>
                        {/if}
                        {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
                            <span class="sale-box">
                                <span class="sale-label">{l s='Sale!'}</span>
                            </span>
                        {/if}
                    </div>
                </div>
                <div class="right-block">
                    <h5 itemprop="name">
                        {if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if}
                        <a class="product-name" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url" >
                            {$product.name|truncate:45:'...'|escape:'html':'UTF-8'}
                        </a>
                    </h5>
                    {hook h='displayProductListReviews' product=$product}
                    <p class="product-desc" itemprop="description">
                        {$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}
                    </p>
                    {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
                    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="content_price">
                        {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
                            <span itemprop="price" class="price product-price">
                                {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
                            </span>
                            <meta itemprop="priceCurrency" content="{$priceDisplay}" /
                            {if isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
                                <span class="old-price product-price">
                                    {displayWtPrice p=$product.price_without_reduction}
                                    </span>
                                {if $product.specific_prices.reduction_type == 'percentage'}
                                    <span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
                                {/if}
                            {/if}
                        {/if}
                    </div>
                    {/if}
                    <div class="button-container">
                        {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 btn btn-default" href="{$link->getPageLink('cart',false, NULL, "add=1&id_product={$product.id_product|intval}&token={$static_token}", false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="{$product.id_product|intval}">
                                        <span>{l s='Add to cart'}</span>
                                    </a>
                                {else}
                                    <a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart',false, NULL, 'add=1&id_product={$product.id_product|intval}', false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="{$product.id_product|intval}">
                                        <span>{l s='Add to cart'}</span>
                                    </a>
                                {/if}                        
                            {else}
                                <span class="button ajax_add_to_cart_button btn btn-default disabled">
                                    <span>{l s='Add to cart'}</span>
                                </span>
                            {/if}
                        {/if}
                        <a itemprop="url" class="button lnk_view btn btn-default" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='View'}">
                            <span>{l s='More'}</span>
                        </a>
                    </div>
                    {if isset($product.color_list)}
                        <div class="color-list-container">{$product.color_list} </div>
                    {/if}
                    <div class="product-flags">
                        {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
                            {if isset($product.online_only) && $product.online_only}
                                <span class="online_only">{l s='Online only'}</span>
                            {/if}
                        {/if}
                        {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
                            {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}
                    </div>
                    {if (!$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
                        {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
                            <span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability">
                                {if ($product.allow_oosp || $product.quantity > 0)}
                                    <span class="{if $product.quantity <= 0}out-of-stock{else}available-now{/if}">
                                        <link itemprop="availability" href="http://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{$product.available_later}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}
                                    </span>
                                {elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
                                    <span class="available-dif">
                                        <link itemprop="availability" href="http://schema.org/LimitedAvailability" />{l s='Product available with different options'}
                                    </span>
                                {else}
                                    <span class="out-of-stock">
                                        <link itemprop="availability" href="http://schema.org/OutOfStock" />{l s='Out of stock'}
                                    </span>
                                {/if}
                            </span>
                        {/if}
                    {/if}
                </div>
                {if $page_name != 'index'}
                     <div class="functional-buttons clearfix">
                        {hook h='displayProductListFunctionalButtons' product=$product}
                        {if isset($comparator_max_item) && $comparator_max_item}
                            <div class="compare">
                                <a class="add_to_compare" href="{$product.link|escape:'html':'UTF-8'}" data-id-product="{$product.id_product}">{l s='Add to Compare'}</a>
                            </div>
                        {/if}
                    </div>
                {/if}
            </div><!-- .product-container> -->
        </li>
    {/foreach}
    </ul>
{addJsDefL name=min_item}{l s='Please select at least one product' js=1}{/addJsDefL}
{addJsDefL name=max_item}{l s='You cannot add more than %d product(s) to the product comparison' sprintf=$comparator_max_item js=1}{/addJsDefL}
{addJsDef comparator_max_item=$comparator_max_item}
{addJsDef comparedProductsIds=$compared_products}
{/if}

Share this post


Link to post
Share on other sites

Se ve bien esta página ??? lo digo porque veo que tenes un div sin cerrar en la linea 62

 

tienes que ponerlo ahi:

linea 62:

                            <div class="content_price" style="{if $product.price == 0} display:none {/if}">


espero haberte ayudado

Edited by jonysi_d (see edit history)

Share this post


Link to post
Share on other sites

el div sin cerrar te refieres al archivo produc-list tpl o al header.tpl

y esto <div class="content_price" style="{if $product.price == 0} display:none {/if}">

lo pongo directamente en la linea 62 del product-list.tpl

Share this post


Link to post
Share on other sites

Una pregunta, como hago para mostrar el Precio y que a su vez me redirija al carrito, en otro lado de la pagina, al producto en referencia? es decir

 

1) hice un CMS mostrando el producto

2) Hice una tabla donde puedes comprarlo al Mayor 

3) en las tablas hay varios precios 

4) Cuando el cliente le de click al precio lo redirija al carrito de compras 

 

Quiero hacerlo así porque a la hora de yo querer actualizar los precios, automáticamente se me actualicen en aquella pagina. 

Share this post


Link to post
Share on other sites

Hola como puedo hacer para ocultar parcialmente los precios (solo mostrar alguno/s) de los productos en promoción a los visitantes, quiero usar el modulo betalier para vender desde Facebook pero se deshabito la visibilidad de precios a los visitantes, se rechaza la compra, puedo ocultar con código los precios sin que se afecte la opción de comprar desde Facebook? como podría hacerse? gracias de antemano

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More