acpkor Posted January 16, 2014 Share Posted January 16, 2014 (edited) Buenos días, Al intentar instalar un módulo, me da el error: El siguiente módulo(s) no se ha instalado correctamente: - eydatepicker : Incapaz de instalar con control manual : El método Send en el grupo Mail ya esta en control manual. (adjunto pantalla) ¿alguien sabe a que error se bebe y si se puede solucionar? Gracias... Edited January 17, 2014 by acpkor (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted January 16, 2014 Share Posted January 16, 2014 Ese módulo sobreescribe una función de la clase Mail, y la clase Mail ya está sobreescrita. Abre el fichero eydatepicker/override/classes/Mail.php y pon esa función dentro de /override/classes/Mail.php. Mira que la función que sobreescribe el módulo no esté ya sobreescrita en override/classes/Mail.php! 1 Link to comment Share on other sites More sharing options...
acpkor Posted January 16, 2014 Author Share Posted January 16, 2014 ¿que función? me pierdo un poco... estas son las lineas del fichero mail.php <?php class Mail extends MailCore { /** * override send class so we can customize email templates */ public static function Send($id_lang, $template, $subject, $template_vars, $to, $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null) { switch ($template) { case 'order_conf': case 'cliente': case 'new_order': $cart_id = (int)Context::getContext()->cart->id; require_once(realpath(dirname(__FILE__).'/../../modules/eydatepicker/models/AppModel.php')); $delivery_info = AppModel::loadModel('Deliveryinfo'); $delivery_info = $delivery_info->getDeliveryInfoByCartId($cart_id); if(!empty($delivery_info)) { $template_vars['{shipping_date}'] = date(Context::getContext()->language->date_format_lite, strtotime($delivery_info['shipping_date'])); $template_vars['{shipping_hour}'] = $delivery_info['shipping_hour']; } else { $template_vars['{shipping_date}'] = ''; $template_vars['{shipping_hour}'] = ''; } break; } return parent::Send($id_lang, $template, $subject, $template_vars, $to, $to_name , $from , $from_name , $file_attachment , $mode_smtp , $template_path, $die , $id_shop ); } } ¿que tengo que meter? Link to comment Share on other sites More sharing options...
acpkor Posted January 16, 2014 Author Share Posted January 16, 2014 de todas maneras, veo que el archivo Mail.php también está en /override/classes/ Y es idéntico. Link to comment Share on other sites More sharing options...
joseantgv Posted January 16, 2014 Share Posted January 16, 2014 Si es IDÉNTICO al que tienes en overrides/classes, borra el Mail.php de override/classes e instala el módulo. Por cierto, si ese fichero ya lo tienes en el directorio override es porque ya lo has instalado antes, no? Link to comment Share on other sites More sharing options...
acpkor Posted January 16, 2014 Author Share Posted January 16, 2014 nada... Ya lo babía instalado en un par de ocasiones para ver so podia hacerlo funcionar... ya lo he he hecho, pero sigue dando el mismo error. He borrado el fichero que crea en overrides/classes -Mail.php elminado el mñodulo, vuleto a subir y a la hora de instalar me sigue dando el mismo error. El siguiente módulo(s) no se ha instalado correctamente: - eydatepicker : Incapaz de instalar con control manual : El método Send en el grupo Mail ya esta en control manual. no se que es... Link to comment Share on other sites More sharing options...
acpkor Posted January 17, 2014 Author Share Posted January 17, 2014 solucionado Había que borrar: override/classes/Mail.php cache/class_index Ahora parece que funciona. Link to comment Share on other sites More sharing options...
nadie Posted January 17, 2014 Share Posted January 17, 2014 Como veo que el autor del tema tiene agregada la palabra "Solucionado" en el titulo del tema, procedo a cerrar el tema. Gracias a todos por colaborar con la Comunidad de Prestashop. Link to comment Share on other sites More sharing options...
Recommended Posts