Jump to content

(SOLUCIONADO) Ocultar campo de unidades en productos de X categoria


angeldavo

Recommended Posts

Ok, hay una forma fácil de hacerlo aunque no se si afecte a los artículos que si tienen stock (depende de como manejes estos podría servir o no este metido).

 

primero debes quitarles las cantidades o stock a estos productos que no quieres que les aparezca cantidad es decir dejarlos en 0 y activar realizar pedido (esto esta mas abajo de cantidades), esto para que sin importar que tengas 0 stock te puedan seguir comprando, después tendrás que eliminar el mensaje de que no hay stock en product.tpl de tu tema actual.

 

El problema viene precisamente si es que tienes que controlar un stock pues con este cambio no tendrías manera de decirle a tu cliente que no tienes stock, aunque viendo tu tienda creo que no manejas unidades como tal.

 

Saludos

Link to comment
Share on other sites

No me has llegado a entender. Todos los productos se compran con stock 0 ya que siempre hay stock de los mismos, pero la casilla sigue apareciendo. He encontrado un hilo en el cual lo ocultan pero en productos que tienen combinaciones (https://www.prestashop.com/forums/topic/251098-solucionado-ocultar-cantidad-solo-en-productos-con-combinaciones/) pero mis productos tienen todos combinaciones.

 

Entonces si el usuario ve un campo cantidad y luego un atributo con cantidades puede que se confunda.

 

Me explico?

 

http://www.screencast.com/t/NY9fKXsqA3

 

Gracias por la respuesta!

Link to comment
Share on other sites

Ok ya me perdí, comentas que solo quieres que unos productos tengan este campo.

 

Entonces con lo que te menciono en el pot pasado solo a los productos que tengan stock les saldrá este campo, los que tengan stock 0 ya no contaran con este, para esto también tienes que vaciar el stock de las combinaciones y los que cuenten con stock si aparecerán con este, puedes agregar un numero muy grande para asegurarte que no desaparezca el campo.

 

También te entendí que quieres quitar el campo a TODOS los productos para esto puedes usar esto:

#quantity_wanted_p {
    visibility: hidden;
    position: absolute
}

esto en lo agregas en el archivo global.css de tu tema (bueno global es el css por default no se como se llame en tu tema)

Link to comment
Share on other sites

Es mejor hacerlo siempre con un condicional, asi por ejemplo aunque desconozco las posibles complicaciones que pueda generar en js y/o json la ausencia del campo de cantidad, puedes probar asi por ejemplo en la plantilla default. añadiendo el codigo de color rojo, para ocultar el campo en los productos asociados por defecto a la categoria con id 56

 

 

{if !$PS_CATALOG_MODE || $product->id_category_default != 56}

<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>

<label for="quantity_wanted">{l s='Quantity'}</label>

<input type="number" min="1" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />

<a href="#" data-field-qty="qty" class="btn btn-default button-minus product_quantity_down">

<span><i class="icon-minus"></i></span>

</a>

<a href="#" data-field-qty="qty" class="btn btn-default button-plus product_quantity_up">

<span><i class="icon-plus"></i></span>

</a>

<span class="clearfix"></span>

</p>

{/if} 

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

Prueba asi mejor para que no interaccione con el otro condicional

{if !$PS_CATALOG_MODE}
{if $product->id_category_default != 56}
<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
<label for="quantity_wanted">{l s='Quantity'}</label>
<input type="number" min="1" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />
<a href="#" data-field-qty="qty" class="btn btn-default button-minus product_quantity_down">
<span><i class="icon-minus"></i></span>
</a>
<a href="#" data-field-qty="qty" class="btn btn-default button-plus product_quantity_up">
<span><i class="icon-plus"></i></span>
</a>
<span class="clearfix"></span>
</p>
{/if} {/if} 
Link to comment
Share on other sites

Puedes hacerlo asi, seria mas correcto hacerlo sobreescribiendo el ProductController.php, incluye en el array los id de las categorias a excluir

 

 

<!-- quantity wanted -->

{if !$PS_CATALOG_MODE}

{assign var='hide_quantity' value=0}   

{foreach from=$product->getProductCategoriesFull($product->id) item=category}

{if in_array($category.id_category, array(4,25,36,55))}{assign var='hide_quantity' value=1}{/if} 

{/foreach}

{if !$hide_quantity}

<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display:                                                none;"{/if}>

<label for="quantity_wanted">{l s='Quantity'}</label>

<input type="number" min="1" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if                                                $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />

<a href="#" data-field-qty="qty" class="btn btn-default button-minus product_quantity_down">

<span><i class="icon-minus"></i></span>

</a>

<a href="#" data-field-qty="qty" class="btn btn-default button-plus product_quantity_up">

<span><i class="icon-plus"></i></span>

</a>

<span class="clearfix"></span>

</p>

{/if}

{/if} 

<!-- minimal quantity wanted -->

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