Jump to content

nguerra

Members
  • Posts

    12
  • Joined

  • Last visited

Profile Information

  • Location
    Chile
  • Activity
    User/Merchant

nguerra's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. @jhond1360 Gracias por tu consejo, efectivamente lo logré de esa manera, el usuario elige su grupo en el formulario de registro, en éste caso un grupo con tax=0. Para los que necesiten hacer algo similar, para modificar el formulario usé esta guía, luego modifique éste móludo, lo que hice fue seguir las modificaciones que se comentan en ese hilo y luego borre $this->dependencies = array('codece'); y cambié ésta linea $sql = "SELECT id_group FROM ps_group_lang WHERE id_group = '$codece'"; pues quiero leer el grupo y no "code", nótese que en ese módulo "codece" es el valor que ingresa el usuario en el formulario de registro. Luego para hacer un grupo con tax=0 seguí éste hilo y funcionó sin problemas. Disculpen que de tan poco detalle de las modificaciones pero estoy corto de tiempo ahora.
  2. No he podido aún, estoy tratando siguiendo estos dos topic... http://www.bitsandchips.it/forum/viewtopic.php?f=11&t=4884 http://www.prestashop.com/forums/topic/254036-solved-replace-default-group-put-customer-into-a-group-during-registration/ Saludos,
  3. Hola no estoy teniendo resultados positivos al modificar el módulo, quería consultar a la gente de Europa, ¿efectivamente el módulo puede crear usuarios exentos de IVA? Saludos.
  4. Try this... in Backoffice>Advanced Parameters. Change template cache to force compile, and cache off, then in your browser erase all your navigation information. Dont forget to change this options to default when you upload your site to a real hosting (this is only for develop). Tell me if it work.
  5. Les cuento, necesito poder crear usuarios que estén exentos de IVA. Para hacer ésto primero pensé en crear dos formularios de inscripción diferentes duplicando authentication.php (llamandolo authentication2.php) y lo mismo para authentication.tpl y AuthController.php, cambiando las llamadas de las funciones cuando fuese necesario, de ésta forma pensé podría asignarle a cada inscripción un grupo de usuario determinado (usuario normal y empresa, éste ultimo con tax=0), el problema es que esta vía de solución no me funcionó. Luego noté que cuando uno rellena el campo Empresa en el formulario aparece el campo "Número de IVA" y que éste puede ser validado con el módulo "Número de IVA europeo" donde si la empresa cumple los requisitos puede estar exenta de IVA (todo ésto válido sólo para Europa claramente). Mi consulta es como puedo modificar éste módulo (vat_number), para que descuente IVA, cuando alguien complete el campo "Número de IVA", no me interesa que haya validación alguna por ahora. Desde ya muchas gracias, y si alguien tiene algún consejo para solucionar ésto de otra manera, bienvenido sea.
  6. @yanc I think I understand you now, you are talking about de registration form? If yes try this... In \themes\yourtheme\authentication.tpl at line 476 change: <input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" /> With: <input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{l s='DE'}{/if}" />
  7. I tested using prestashop 1.5.4.1, and didnt work for me, the problem is that when I try to access www.mysite/index.php?controller=authentication2&back=my-account, i get error 404 the same with www.mysite.com/authentication2.php, can somebody give me some input. Thanks.
  8. Por si a alguien le sirviera, lo solucioné asi: Agregando esto al comienzo de \themes\"sutema"\product-list.tpl <script type="text/javascript"> function checkMinimalQuantity(id,minimal_quantity) { if ($('#'+id).val() < minimal_quantity) { //$('#'+id).css('border', '1px solid red'); eliminar cambio cuadro a color rojo. //$('#minimal_quantity_wanted_p').css('color', 'red'); $('#'+id).val(minimal_quantity); } else { $('#'+id).css('border', '1px solid #BDC2C9'); //$('#minimal_quantity_wanted_p').css('color', '#374853'); } } function changeQuantityList(id,minimal_quantity, operator) { if (operator == 1) //subtract $('#'+id).val($('#'+id).val()*1 - 1); else if (operator == 2) //sum $('#'+id).val($('#'+id).val()*1 + 1); checkMinimalQuantity(id,minimal_quantity); } </script> Y agregando ésto donde quieren tener el cuadro con la cantidad y los botones, en mi caso por <div class="content_price"> <label>{l s='Cantidad:'}</label> <a class="cart_quantity_down" href="javascript:{}" onclick="changeQuantityList(quantity_wanted_{$product.id_product|intval}.id,1,1);"><img width="14" height="9" alt="sustraer" src="themes/default/img/icon/quantity_down.gif"></img></a> <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <a class="cart_quantity_up" href="javascript:{}" onclick="changeQuantityList(quantity_wanted_{$product.id_product|intval}.id,1,2);"><img width="14" height="9" alt="Añadir" src="themes/default/img/icon/quantity_up.gif"></img></a></p>
  9. I'm not sure if I understood your question, but the prefix of invoices is changed in Order> Invoice (Back office).
  10. Did you change the name and lenght on line if (strtolower(substr($groupname, 0, 7))=="empresa"){ ? In my case 'empresa' is the name of the group with costumers with exempted tax, and 7 the "length" of the word.
  11. Hi it work for me iam using prestashop 1.5.4.1. I didnt touch anything from Tax.php from classes/tax/Tax.php, i created a Tax.php in override/classes/tax/Tax.php with the following; <?php class Tax extends TaxCore { /** * Returns the product tax * * @param integer $id_product * @param integer $id_country * @return Tax */ public static function getProductTaxRate($id_product, $id_address = null, Context $context = null) { /*if ($context == null) $context = Context::getContext(); $address = Address::initialize($id_address); $id_tax_rules = (int)Product::getIdTaxRulesGroupByIdProduct($id_product, $context); $tax_manager = TaxManagerFactory::getManager($address, $id_tax_rules); $tax_calculator = $tax_manager->getTaxCalculator(); return $tax_calculator->getTotalRate(); */ if (is_numeric($id_address)) { $address = new Address((int)($id_address)); // get customer groups to check for tax exempt group $groups = Customer::getGroupsStatic((int)($address->id_customer)); //var_dump($groups); foreach ($groups as $g) { $query = "SELECT name FROM ps_group_lang WHERE id_group=$g AND id_lang=1"; $groupname = Db::getInstance()->getValue($query); if (strtolower(substr($groupname, 0, 7))=="empresa"){ return 0; } } } $context = Context::getContext(); $address = Address::initialize($id_address); $id_tax_rules = (int)Product::getIdTaxRulesGroupByIdProduct($id_product, $context); $tax_manager = TaxManagerFactory::getManager($address, $id_tax_rules); $tax_calculator = $tax_manager->getTaxCalculator(); return $tax_calculator->getTotalRate(); } } At first didnt work but then I erased class_index.php from /cache/class_index.php and it works! Looking at you code i think you need to replace "class TaxCore extends ObjectModel" to "class Tax extends TaxCore".
  12. Hola, primero que todo me aprovecho de presentar, mi nombres es Nicolás y ayer por primera vez instale Prestashop pues necesito hacer un sitio de ventas para mi madre, hasta ahora me ha ido muy bien haciendo las modificaciones que requiero apoyado por las múltiples resoluciones a problemas que hay en el foro. También me disculpo si lo correcto hubiese sido crear un nuevo tema, pero mi duda está muy relacionada con la solución aquí presentada y que he implementado sin problemas. Resulta que me gustaría aplicar ésto mismo para aumentar la cantidad de productos en una lista de éstos, hasta ahora habpia hecho lo siguiente para poder agregar la cantidad de productos con el teclado. Agregé esto después de la zona de precio product-list.tlp; {l s='Quantity:'} <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset ($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" size="2" maxlength="3" /> Y modifiqué ajax-cart.js de prestashop\modules\blockcart ; Sustituí ésto; //for every 'add' buttons... $('.ajax_add_to_cart_button').unbind('click').click(function(){ var idProduct = $(this).attr('rel').replace('ajax_id_product_', ''); if ($(this).attr('disabled') != 'disabled') ajaxCart.add(idProduct, null, false, this); return false; }) Con ésto; //for every 'add' buttons... $('.ajax_add_to_cart_button').unbind('click').click(function(){ var idProduct = $(this).attr('rel').replace('ajax_id_product_', ''); if ($(this).attr('disabled') != 'disabled') ajaxCart.add(idProduct, null, false, this,$('#quantity_wanted_'+ idProduct).val()); //alert($('#quantity_wanted_'+ idProduct).val()); return false; }); Ésto funciono a la perfección pero cuando vi éste tema traté de agregarle los botones para comodidad del usuario, por lo que traté de mezclar ésto; {l s='Quantity:'} <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset ($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" size="2" maxlength="3" /> Con el código acá expuesto; <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity:'}</label> <a class="cart_quantity_down" href="javascript:{}" onclick="changeQuantity(1,1);"><img width="14" height="9" alt="sustraer" src="themes/default/img/icon/quantity_down.gif"></img></a> <input type="text" 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}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <a class="cart_quantity_up" href="javascript:{}" onclick="changeQuantity(1,2);"><img width="14" height="9" alt="Añadir" src="themes/default/img/icon/quantity_up.gif"></img></a></p> Teniendo como resultado ésto; <label>{l s='Cantidad:'}</label> <a class="cart_quantity_down" href="javascript:{}" onclick="changeQuantity(1,1);"><img width="14" height="9" alt="sustraer" src="themes/default/img/icon/quantity_down.gif"></img></a> <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <a class="cart_quantity_up" href="javascript:{}" onclick="changeQuantity(1,2);"><img width="14" height="9" alt="Añadir" src="themes/default/img/icon/quantity_up.gif"></img></a></p> Lo cual me permite cambiar la cantidad con el teclado como antes, sin embargo los botones están pero no funcionan. He metido harta mano pero no he dado con la solución, me da la impresión de que tal ves me falta agregar algo para poder llamar correctamente a la función de product.js, alguien me puede guiar sobre como hacerlo funcionar. Desde ya muchas gracias, y espero poder ayudar yo también ahora que soy usuario. Saludos, Nicolás.
×
×
  • Create New...