Jump to content

miguelangelss4

Members
  • Posts

    43
  • Joined

  • Last visited

Profile Information

  • Location
    Madrid
  • Activity
    Developer

Recent Profile Visitors

1,477,310 profile views

miguelangelss4's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. Hola, finalmente he podido conseguir esto. Faltaban un par de funciones en el controller. Todo queda finalmente así. /modules/gformbuilderpro/controllers/admin/AdminGformrequestController.php (añadiendo esto a la definición de los campos en el array $this->fields_list) 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'active' => 'approbed', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), En el mismo archivo, añadir estas funciones: public function initProcess() { parent::initProcess(); if (Tools::isSubmit('approbed'.$this->table) && Tools::getValue($this->identifier)) { $this->action = 'approbed'; } } public function processApprobed(){ if (Validate::isLoadedObject($object = $this->loadObject())) { $object->approbed = !$object->approbed; $object->update(false); } } En el modelo, añadir la variable para mi columna, en este caso approbed: class gformrequestModel extends ObjectModel { public $id_gformrequest; public $id_gformbuilderpro; public $user_ip; public $subject; public $sendto; public $approbed = 0;//msolla public $request; public $attachfiles; public $jsonrequest; public $date_add; public static $definition = array( 'table' => 'gformrequest', 'primary' => 'id_gformrequest', 'multilang' => false, 'fields' => array( //Fields 'id_gformbuilderpro' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'), 'user_ip' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'sendto' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'approbed' => array('type' => self::TYPE_INT, 'validate' => 'isBool'),//msolla 'subject' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'attachfiles' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'jsonrequest' => array('type' => self::TYPE_HTML,'validate' => 'isCleanHtml'), 'request' => array('type' => self::TYPE_HTML,'validate' => 'isCleanHtml'), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), ) ); Y con esto ya estaría la columna, y sus valores se actualizan al ser pulsada el aspa/check. Lo que no he conseguido cambiar es el literal que aparece al pasar el cursor por encima.
  2. Hola de nuevo, he intentado cambiar a hacerlo mediante Ajax y tampoco soy capaz: 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'active' => 'approbed', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed', 'ajax' => true ), Y: public function ajaxProcessapprobed(){ $result = new stdClass(); $result->success = true; $result->sql = ""; $approbed = 1; $result->text = $this->l("Successful update"); try{ $result->sql = "UPDATE "._DB_PREFIX_."gformrequest SET approbed = $approbed WHERE id_gformrequest = ".$_POST['id_gformrequest']." LIMIT 1;"; if (!Db::getInstance()->Execute($result->sql)) $result->success = false; } catch(Exception $e){ $result->success = false; $result->text = $e->getMessage(); } die(Tools::jsonEncode($result)); } Más adelante tendré que ver cómo hacer que $approbed recoja el valor en función de si se pulsa el check o el aspa, pero de momento estoy con eso. Recibo este error: En esta línea: if (data.success == 1) { Ya que el objeto data me llega siempre a null...
  3. Hola, Como dice Sergio, seguramente tengas el modo debug activado. Para desactivarlo, depende de tu versión de ps. PrestaShop 1.7 y superirores Ahora existe la opción de activar la depuración en PrestaShop sin tocar código, directamente en el panel de control de Prestashop. Para ello, nos dirigiremos a PrestaShop Dashboard > Advanced Parameters > Performance > DEBUG MODE PANEL y cambiaremos “Debug Mode” a YES (si tenemos el backoffice en castellano, sería Parámetros Avanzados > Rendimiento > Modo Debug): Versiones anteriores a 1.7 En este caso no será tan cómodo, pero tampoco será complicado. Simplemente deberemos conectarnos por FTP a nuestro servidor y editar el fichero config/defines.inc.php, deberemos buscar la constante _PS_MODE_DEV_ y cambiar su definición de true a false. Por otro lado, el logo de la tienda. En el menú Preferencias/Temas, en el tema actual tienes varias pestañas para cambiar los logos y el favicon (imagen adjunta).
  4. Hola a todos, estoy teniendo problemas añadiendo una columna en un módulo de la tienda. El módulo es Form Builder Pro, y la idea es añadir una columna en la lista de datos recibidos para indicar si están procesados o no. La columna la he añadido perfectamente añadiendo al array $this->fields_list (/modules/gformbuilderpro/controllers/admin/AdminGformrequestController.php): 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), También he tocado el modelo correspondiente, añadiendo mi campo (/modules/gformbuilderpro/classes/gformrequestModel.php): public static $definition = array( 'table' => 'gformrequest', 'primary' => 'id_gformrequest', 'multilang' => false, 'fields' => array( //Fields 'id_gformbuilderpro' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'), 'user_ip' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'sendto' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'approbed' => array('type' => self::TYPE_INT, 'validate' => 'isBool'),//mi campo 'subject' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'attachfiles' => array('type' => self::TYPE_STRING,'validate' => 'isString'), 'jsonrequest' => array('type' => self::TYPE_HTML,'validate' => 'isCleanHtml'), 'request' => array('type' => self::TYPE_HTML,'validate' => 'isCleanHtml'), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), ) ); Hasta aquí, bien. Pero en la columna me salen un motón de 1 y 0 en función de si he marcado cada fila como aprobada o no. Esto queda un poco feo y quería cambiarlo por una columna al estilo de la columna activo en la lista de productos, de forma que se puedan activar/desactivar directamente desde esta lista, y ahí es donde me quedo bloqueado. De todo lo que he probado, lo que mejor pinta tiene es dejar el controller así: 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'active' => 'status',//ultimo añadido 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), Que al menos saca en vez de 0 y 1 en la lista las aspas rojas y checks verdes, pero al pulsar en cualquiera recibo el error: property "active" is missing in object gformrequestModel Además de eso, al poner el cursor sobre las aspas sale un cartel que dice "Inactivo" y sobre los checks "Activo", y también me gustaría cambiar ese texto. Si pongo: 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'approbed' => 'status', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), Vuelve a sacar la columna con 0 y 1. Otras opciones probadas han sido: 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'active' => 'approbed', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'approbed' => 'approbed', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' ), 'approbed' => array( 'title' => $this->l('Approbed'), 'type' => 'bool', 'width' => 'auto', 'orderby' => false, 'filter_key' => 'a!approbed' 'ajax' => true ), La última del ajax muestra bien los checks/aspas pero al pulsarlas no hace absolutamente nada, simplemente muestra un error por consola diciendo que no existe la acción, pero no sé cómo añadir esta función al controller...
  5. Hi Rho_Bur, yes, I tried to do this... my CategoryController was my try to overriding this. I put this file \override\controllers\front\CategoryController.php with the code of my first post, but in product-list.tpl file I have {$product.msolla|var_dump} {$msolla|var_dump} And both have a null value...
  6. Hello, I'm trying to add some variable to the product-list.tpl but I'm not able to achieve this. I have tried some things... First in my tpl file I added: {$product.msolla|var_dump} {$msolla|var_dump} And I updated \controllers\front\ProductController.php, function initContent() by adding 'msolla' => 'asdf' in the $this->context->smarty->assign() array argument. Also I added $this->msolla = 'asdfa' in \classes\Product.php Other thing I tried is to adapt this http://nemops.com/lowest-price-prestashop-product-list/#.Wo2OWKiWbcs to my case, with this: class CategoryController extends CategoryControllerCore { public function initContent() { parent::initContent(); $this->context->smarty->assign('msolla', 555); } } Any of this worked. All of this (and combinations between all) are printing a null content for "msolla" variable... What I'm doing wrong? Thanks!
  7. Hola, estoy teniendo problemas con la página de contacto. He hecho un montón de pruebas, pero haga lo que haga me llega así: No aparecen nunca los adjuntos ni el id de pedido. El fichero que entra en juego aquí creo que es controllers\front\ContactController.php, a la altura de la línea 173: if (isset($ct) && Validate::isLoadedObject($ct) && $ct->id_order) { $order = new Order((int)$ct->id_order); $var_list['{order_name}'] = $order->getUniqReference(); $var_list['{id_order}'] = (int)$order->id; } $ct siempre llega con valor null. Un poco más arriba está su inicialización: $ct = new CustomerThread($id_customer_thread); pero como $id_customer_thread siempre es un booleano a false... siempre me carga un null. No sé qué está pasando ahí... ¿Alguien que me pueda echar una mano? Gracias.
  8. Hola a todos, Os escribo por que he notado que mi tienda de repente ha dejado de enviar bien los correos correspondientes a new_order.html y order_conf.html: new_order.html El bloque {items} donde hasta ahora llegaba un resumen con todos los productos del pedido, ha desaparecido. Es como si no hubiera nada ahí. order_conf.html Los bloques {delivery_other}, {delivery_block_html} y {invoice_block_html} llegan en el mail tal cual, como texto, en lugar de ser sustituidos por sus correspondientes bloques html o valores (según el caso). En ambos correos, otras variables sí que siguen tomando sus valores correctos (nombre del cliente, número de pedido, etc). Esto ha sido de repente, si que tengamos muy claro por qué. Hemos probado a poner los ficheros html que traía por defecto prestashop y esos mismos bloques vuelven a funcionar, pero en cuanto edito cualquier detalle el mail, se pierden de nuevo. ¿A alguien le ha pasado esto? Gracias.
  9. Hello, I'm trying to add some variables to shipped email template. The data I need add are: delivery_block_html, invoice_block_html, delivery_other and followup variables. I started with delivery_bock_html, by editing /controllers/admin/AdminOrdersController.php, replacing (2 occurrences, lines 408 and 535): if ($history->id_order_state == Configuration::get('PS_OS_SHIPPING') && $order->shipping_number) { $templateVars = array('{followup}' => str_replace('@', $order->shipping_number, $carrier->url)); } with this piece of code: if ($history->id_order_state == Configuration::get('PS_OS_SHIPPING') && $order->shipping_number) { $templateVars = array( '{followup}' => str_replace('@', $order->shipping_number, $carrier->url), '{delivery_block_html}' => MailAlert::getFormatedAddress( $delivery, '<br />', array( 'firstname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>', 'lastname' => '<span style="color:'.$configuration['PS_MAIL_COLOR'].'; font-weight:bold;">%s</span>' ) ) ); } but the email I receive has {delivery_block_html} shortcode, as if I didn't anything. I attach screenshot of received email. What am I doing wrog? Thanks!!
  10. La carpeta cache de mi plantilla está vacía, a excepción del index..
  11. Pues no me engancha el css nuevo que he metido... Revisando todo de forma puntillosa, hay una cosa que no me cuadra. Tú me hablas de plantillas y yo estoy en temas... no sé si será lo mismo. Lo que estoy haciendo es meter este archivo en mi tienda: /themes/pruebaAzulEXTRA/css/modules/blocktopmenu/blocktopmenu.css De momento su contenido son dos clases de prueba: .sf-menu { background-color: black; margin: 10px 0; padding: 0 5px; width: 970px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0px 1px 2px #c6c6c6; -webkit-box-shadow: 0px 1px 2px #C6C6C6; box-shadow: 0px 1px 2px #C6C6C6; } .block h4 { padding: 6px 11px; font-size: 12px; color: white; text-shadow: 0 1px 0 black; text-transform: uppercase; background: blue; } Pero me coge las clases del archivo /modules/blocktopmenu/css/superfish-modified.css ....
  12. Muchas gracias! Una última cosa, imagino que con esto si creo una clase que ya esté declarada en el css del módulo se sobreescribirá de forma que use solo lo que ponga yo, ¿correcto?
×
×
  • Create New...