Jump to content

ventura

Global Moderators
  • Posts

    4,604
  • Joined

  • Last visited

  • Days Won

    38

Everything posted by ventura

  1. Prestashop dispone de un action hook, actionCarrierUpdate desde el que se puede obtener el id del transportista antes de la modificación y el nuevo id generado, eg $oldCarrier = (int)$params['id_carrier']; $newCarrier = (int)$params['carrier']->id;
  2. {assign var = "formatName" value = "" |explode:$product.name} {assign var = "nameCount" value = $formatName|@count} {if $nameCount > 1} {$formatName[0]} {else} {$product.name} {/ if}
  3. Twig files can be overwritten. The most practical and recommendable would be to do it using a module that includes the modified .twig in the route /modules/overwtemodule/views/PrestaShop/Admin/Sell/Order/Order/Blocks/View/product.html.twig In case it is necessary to add variables, they must be added in the core files. src/Core/Domain/Order/Order/QueryResult/OrderProductForViewing.php // or src/Core/Domain/Order/QueryResult/OrderProductForViewing.php They cannot be overwritten by the traditional method.
  4. You can set a number of products to be displayed and add a sort by date on which products have been added. Adding in modules/ps_bestsellers/ps_bestsellers.php In the function getBestSellers a sort, eg ->setSortOrder(new SortOrder('product', 'date_add', 'desc'));
  5. Sera necesario sobrescribir la función validateOrder en el archivo classes/PaymentModule.php añadiendo en el array $product_var_tpl, la variable 'available_now' => $product['available_now'], Y luego para que aparezca en la plantilla del email añadir la nueva variable {$product['available_now']} en mails/en/order_conf_product_list.tpl
  6. Try to edit src/PrestaShopBundle/Resources/views/Admin/Sell/Order/Order/Blocks/View/product.html.twig
  7. Hay muchos hilos y aportes interesantes en el foro sobre el ws de Prestashop
  8. Lo mejor sería contrastarlo con una consulta en la tabla order_invoice en el rango de fechas que indicas
  9. It is always recommended that variables of this kind be generated in the controller. To generate them in the .tpl you can try like this {assign var='name_lastname' value="{$firstname}{' '}{$lastname}"}
  10. Añadida nueva versión. Había un error en la consulta que podía generar falta de resultados en pedidos sin impuestos Cuando tenga más tiempo lo reviso mas a fondo. Gracias. Un saludo
  11. Añadida nueva version que soluciona el error en los formatos numéricos en la exportación a excel. Gracias. Un saludo
  12. Añadida nueva versión que mejora la compatibilidad y funcionamiento
  13. Puedes pasar variables mediante js utilizando las classes de Prestashop,eg Media::addJsDef(array( 'link' => $this->context->link->getModuleLink($this->name, 'ajax'), 'one_value' => (bool) Configuration::get('SOME_VALUE'), 'iso' => Tools::htmlentitiesUTF8($this->context->language->iso_code) )); Posiblemente lo mejor sería hacerlo mediante AJAX, con un controller, sobretodo si es necesario registrar en base de datos
  14. Por ejemplo para versiones 1.7.6 /admin/themes/default/template/controllers/orders/helpers/view/view.tpl Buscamos esta parte <div class="panel panel-sm"> <div class="panel-heading"> <i class="icon-eye-slash"></i> {l s='Private note' d='Admin.Orderscustomers.Feature'} {$employee->id_profile} </div> <form id="customer_note" class="form-horizontal" action="{$link->getAdminLink('AdminCustomers', true, [], ['updateCustomerNote' => 1, 'id_customer' => $customer->id])}" method="post" onsubmit="saveCustomerNote();return false;" > <div class="form-group"> <div class="col-lg-12"> <textarea name="note" id="noteContent" class="textarea-autosize" onkeyup="$(this).val().length > 0 ? $('#submitCustomerNote').removeAttr('disabled') : $('#submitCustomerNote').attr('disabled', 'disabled')">{$customer->note}</textarea> </div> </div> <div class="row"> <div class="col-lg-12"> <button type="submit" id="submitCustomerNote" class="btn btn-default pull-right" disabled="disabled"> <i class="icon-save"></i> {l s='Save' d='Admin.Actions'} </button> </div> </div> <span id="note_feedback"></span> </form> </div> Y lo dejamos así {assign var=employee value=Context::getContext()->employee} {if $employee->isSuperAdmin()} <div class="panel panel-sm"> <div class="panel-heading"> <i class="icon-eye-slash"></i> {l s='Private note' d='Admin.Orderscustomers.Feature'} {$employee->id_profile} </div> <form id="customer_note" class="form-horizontal" action="{$link->getAdminLink('AdminCustomers', true, [], ['updateCustomerNote' => 1, 'id_customer' => $customer->id])}" method="post" onsubmit="saveCustomerNote();return false;" > <div class="form-group"> <div class="col-lg-12"> <textarea name="note" id="noteContent" class="textarea-autosize" onkeyup="$(this).val().length > 0 ? $('#submitCustomerNote').removeAttr('disabled') : $('#submitCustomerNote').attr('disabled', 'disabled')">{$customer->note}</textarea> </div> </div> <div class="row"> <div class="col-lg-12"> <button type="submit" id="submitCustomerNote" class="btn btn-default pull-right" disabled="disabled"> <i class="icon-save"></i> {l s='Save' d='Admin.Actions'} </button> </div> </div> <span id="note_feedback"></span> </form> </div> {/if} -Pudiendo condicionar el acceso por perfil Superadministrador {if $employee->isSuperAdmin()} -Por ID de perfil de Usuario, eg para el ID de perfiles 1 { if $employee->id_profile == 1} -Por rango determinado de perfiles de usuario por IDs, eg, para perfiles de usuario con IDs 2 y 5 {if in_array($employee->id_profile, [2, 5])}
  15. Al tratarse de un módulo de pago lo mejor es que te pongas en contacto con el desarrollador. Un saludo.
  16. Sera necesario también editar la class classes/Product.php En 'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 128),
  17. Entiendo que tendrás que poner la nueva contraseña en app/config/parameters.php
  18. /classes/PaymentModule.php Search the comment // Optional message to attach to this order Edit this part $msg->private = 1; // Change to 0
  19. Try like this {$cms_content.content nofilter}
  20. Tienes que instanciar el objeto Currency en /classes/pdf/HTMLTemplateInvoice.php En function getContent() añade en la parte de $data = array( 'currency' => new Currency($this->order->id_currency, $this->order->id_lang), Luego en el .tpl de invoice añade {$currency->name}
  21. Antes de actualizar a una major upgrade como es el caso de la 1.7.7 es aconsejable revisar el changelog y las especificaciones https://devdocs.prestashop.com/1.7/modules/core-updates/1.7.7/
  22. Check it out at src/PrestaShopBundle/Controller/Admin/Sell/Customer/CustomerController.php
  23. classes/form/CustomerFormatter.php edit this part and save it as follows if (Configuration::get('PS_B2B_ENABLE')) { $format['company'] = (new FormField()) ->setName('company') ->setType('text') ->setLabel($this->translator->trans( 'Company', [], 'Shop.Forms.Labels' ) ) ->setRequired(true); $format['siret'] = (new FormField()) ->setName('siret') ->setType('text') ->setLabel($this->translator->trans( // Please localize this string with the applicable registration number type in your country. For example : "SIRET" in France and "Código fiscal" in Spain. 'Identification number', [], 'Shop.Forms.Labels' ) ) ->setRequired(true); }
×
×
  • Create New...

Important Information

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