Jump to content

Cambiar precio=0 a "Consultar Precio"


Recommended Posts

Buenas noches después de buscar y leer por el foro y probar a cambiar el código de  /themes/mytheme/templates/catalog/_partials/product-prices.tpl

no he sido capaz de cambiarlo para que todos los productos con precios iguales a 0 ponga en vez de 0.00€ que se cambie por "CONSULTAR PRECIO" 

pongo una copia de mi archivo haber si alguien puede ayudarme a cambiarlo o modificarlo para que cumpla esa función. Gracias de antemano:

 

{if $product.show_price}
  <div class="product-prices">
    {block name='product_discount'}
      {if $product.has_discount}
        <div class="product-discount">
          {hook h='displayProductPriceBlock' product=$product type="old_price"}
          <span class="regular-price">{$product.regular_price}</span>
        </div>
      {/if}
    {/block}

    {block name='product_price'}
      <div
        class="product-price h5 {if $product.has_discount}has-discount{/if}"
        itemprop="offers"
        itemscope
        itemtype="https://schema.org/Offer"
      >
        <meta itemprop="url" content="{$product.url}">
        <link itemprop="availability" href="https://schema.org/InStock"/>
        <meta itemprop="priceCurrency" content="{$currency.iso_code}">

        {*
        {if $product.specific_prices.to AND $product.specific_prices.to != "0000-00-00 00:00:00"}
        <meta itemprop="priceValidUntil" content="{$product.specific_prices.to}" />
        {/if}
        *}

        <div class="current-price">
          <span class="price" itemprop="price" content="{$product.price_amount}">{$product.price}</span> {* AngarTheme *}

          {if $product.has_discount}
            {if $product.discount_type === 'percentage'}
              <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span>
            {else}
              <span class="discount discount-amount">
                  {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]}
              </span>
            {/if}
          {/if}
        </div>

        {block name='product_unit_price'}
          {if $displayUnitPrice}
            <p class="product-unit-price sub">{l s='(%unit_price%)' d='Shop.Theme.Catalog' sprintf=['%unit_price%' => $product.unit_price_full]}</p>
          {/if}
        {/block}
      </div>
    {/block}

    {block name='product_without_taxes'}
      {if $priceDisplay == 2}
        <p class="product-without-taxes">{l s='%price% tax excl.' d='Shop.Theme.Catalog' sprintf=['%price%' => $product.price_tax_exc]}</p>
      {/if}
    {/block}

    {block name='product_pack_price'}
      {if $displayPackPrice}
        <p class="product-pack-price"><span>{l s='Instead of %price%' d='Shop.Theme.Catalog' sprintf=['%price%' => $noPackPrice]}</span></p>
      {/if}
    {/block}

    {block name='product_ecotax'}
      {if $product.ecotax.amount > 0}
        <p class="price-ecotax">{l s='Including %amount% for ecotax' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.ecotax.value]}
          {if $product.has_discount}
            {l s='(not impacted by the discount)' d='Shop.Theme.Catalog'}
          {/if}
        </p>
      {/if}
    {/block}

    {hook h='displayProductPriceBlock' product=$product type="weight" hook_origin='product_sheet'}

    <div class="tax-shipping-delivery-label">

      <span class="price_tax_label">
      {if $configuration.display_taxes_label}
        {$product.labels.tax_long}
      {/if}
      </span>

      {hook h='displayProductPriceBlock' product=$product type="price"}
      {hook h='displayProductPriceBlock' product=$product type="after_price"}

    {if $psversion > ps_172}
      {if $product.additional_delivery_times == 1}
        {if $product.delivery_information}
          <span class="delivery-information">{$product.delivery_information}</span>
        {/if}
      {elseif $product.additional_delivery_times == 2}
        {if $product.quantity > 0}
          <span class="delivery-information">{$product.delivery_in_stock}</span>
        {* Out of stock message should not be displayed if customer can't order the product. *}
        {elseif $product.quantity <= 0 && $product.add_to_cart_url}
          <span class="delivery-information">{$product.delivery_out_stock}</span>
        {/if}
      {/if}
    {/if}

    </div>

    <div class="clearfix"></div> {* AngarTheme *}

  </div>
{/if}

 

 

 

Link to comment
Share on other sites

Buenas,

Te adjunto el código que necesitas para que puedas aplicarlo en tu web, como bien dices, es en el: "product-prices.tpl"

{if $product.show_price}
  <div class="product-prices">
    {block name='product_discount'}
      {if $product.has_discount}
        <div class="product-discount">
          {hook h='displayProductPriceBlock' product=$product type="old_price"}
            <span class="regular-price">{$product.regular_price}</span>
        </div>
      {/if}
    {/block}

    {block name='product_price'}
      <div
        class="product-price h5 {if $product.has_discount}has-discount{/if}"
        itemprop="offers"
        itemscope
        itemtype="https://schema.org/Offer"
      >
        <link itemprop="availability" href="{$product.seo_availability}"/>
        <meta itemprop="priceCurrency" content="{$currency.iso_code}">

        <div class="current-price">
        {if $product.regular_price > 0}
          <span itemprop="price" content="{$product.price_amount}">{$product.price}</span>
        {else}
          <span itemprop="price" content="{$product.price_amount}">Consultar precio</span>
        {/if}

          {if $product.has_discount}
            {if $product.discount_type === 'percentage'}
              <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span>
            {else}
              <span class="discount discount-amount">
                  {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]}
              </span>
            {/if}
          {/if}
        </div>

        {block name='product_unit_price'}
          {if $displayUnitPrice}
            <p class="product-unit-price sub">{l s='(%unit_price%)' d='Shop.Theme.Catalog' sprintf=['%unit_price%' => $product.unit_price_full]}</p>
          {/if}
        {/block}
      </div>
    {/block}

    {block name='product_without_taxes'}
      {if $priceDisplay == 2}
        <p class="product-without-taxes">{l s='%price% tax excl.' d='Shop.Theme.Catalog' sprintf=['%price%' => $product.price_tax_exc]}</p>
      {/if}
    {/block}

    {block name='product_pack_price'}
      {if $displayPackPrice}
        <p class="product-pack-price"><span>{l s='Instead of %price%' d='Shop.Theme.Catalog' sprintf=['%price%' => $noPackPrice]}</span></p>
      {/if}
    {/block}

    {block name='product_ecotax'}
      {if $product.ecotax.amount > 0}
        <p class="price-ecotax">{l s='Including %amount% for ecotax' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.ecotax.value]}
          {if $product.has_discount}
            {l s='(not impacted by the discount)' d='Shop.Theme.Catalog'}
          {/if}
        </p>
      {/if}
    {/block}

    {hook h='displayProductPriceBlock' product=$product type="weight" hook_origin='product_sheet'}

    <div class="tax-shipping-delivery-label">
      {if $configuration.display_taxes_label}
        {$product.labels.tax_long}
      {/if}
      {hook h='displayProductPriceBlock' product=$product type="price"}
      {hook h='displayProductPriceBlock' product=$product type="after_price"}
      {if $product.additional_delivery_times == 1}
        {if $product.delivery_information}
          <span class="delivery-information">{$product.delivery_information}</span>
        {/if}
      {elseif $product.additional_delivery_times == 2}
        {if $product.quantity > 0}
          <span class="delivery-information">{$product.delivery_in_stock}</span>
        {* Out of stock message should not be displayed if customer can't order the product. *}
        {elseif $product.quantity <= 0 && $product.add_to_cart_url}
          <span class="delivery-information">{$product.delivery_out_stock}</span>
        {/if}
      {/if}
    </div>
  </div>
{/if}

Como puedes ver, la clave reside en la siguiente condición:

{if $product.regular_price > 0}
    <span itemprop="price" content="{$product.price_amount}">{$product.price}</span>
  {else}
    <span itemprop="price" content="{$product.price_amount}">Consultar precio</span>
{/if}

Y se mostraría algo así:

 

image.thumb.png.5a382774fff7c0d6078a46ce1ea2b567.png

 

¡ATENCIÓN! Esto no bloquea la opción de añadir al carrito así que cuidado, porque podría ser que aún así adquirieran el producto por valor de 0€, si deseas eliminar el botón para estos casos deberías modificar otras .tpl o incluso realizar algún desarrollo para bloquear la opción en caso de que se cumpla dicha casuística.

 

Espero que te sirva de ayuda.

Un saludo,

 

Link to comment
Share on other sites

On 28/10/2021 at 8:45, LabelGrup Networks said:

Buenas,

Te adjunto el código que necesitas para que puedas aplicarlo en tu web, como bien dices, es en el: " product-Prices.tpl "

 
         
             
        

      
        
        
        
        
      
          
          

         
            
            

               
               
              
        

             
      

         

         

         
        


     
           
           
           
    
  

Como puedes ver, la clave reside en la siguiente condición:

  
      

Y se mostraría algo así:

 

image.thumb.png.5a382774fff7c0d6078a46ce1ea2b567.png

 

¡ATENCIÓN! Esto no incluye la opción de añadir al carrito así que cuidado, porque podría ser que aún así adquirieran el producto por valor de 0 €, si desea eliminar el botón para estos casos deberías modificar otras. en caso de que se cumpla dicha casuística.

 

Espero que te sirva de ayuda.

Un saludo,

 

 

Buenos días muchas gracias por su respuesta, no habia probado hasta ahora a meter ese código.

Lo he probado y al copiarlo en el archivo que indicamos, entro en el backoffice, borro caché y entro en el frontoffice en cualquier producto de la web me aparece HTTP ERROR 500.

No se si es que hay que modificar algún otro archivo o algo no estoy haciendo bien o mi versión de prestashop 1.7.4.4

seguré probando pero si podeis ayudarme lo agradecería

un saludo

Link to comment
Share on other sites

  • razaro changed the title to Cambiar precio=0 a "Consultar Precio"

He probado de todas las maneras posibles con lo que me enviáis:

1. copiar le codigo completo vuestro y guardar = ERROR 500

2. traducir las palabras todas que se ponen en español como por ejemplo si=If cuadra=block demás=else... = ERROR 500

3. desde el codigo original copiar solo el parrafo que cambia y hay que añadir = ERROR 500

de todas las pruebas que he realizado la unica que me deja con la web funcionando sin darme el ERROR 500 es el código original del tema.

Alguna opción?

Gracias de antemano

un saludo

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...